2010-10-08 8 views
9

Sono un nuovo sviluppatore nella mia azienda e principalmente sviluppo web front-end. Il nostro team viene spesso invitato dai nostri addetti alle vendite e al marketing a incorporare javascript di terze parti sul nostro sito.Quali sono i rischi associati con l'hosting di Javascripts di terze parti?

"Ecco un 'frammento di codice po'. Il nostro fornitore ha chiesto se si potrebbe mettere questo nella nostra home page"

Questo mi rende molto nervoso.

So che questi script possono rallentare le nostre pagine e in alcuni casi ho dovuto circondare del codice con i blocchi try/catch per garantire che questi errori di terze parti non influiscano su altri script la pagina.

Questi script vengono da me in una varietà di forme ...

alcuni sono vendor fornito script che ospitiamo ...

<script src="http://www.mycompany.com/js/vendor-file.js" type="text/javascript"> 

... alcuni sono di riferimento nel nostro codice, ma ospitato esternamente

<script src="http://www.vendor.com/js/file.js" type="text/javascript"> 

... e alcuni script sono vengono visualizzate in linea sul nostro sito, che i tag insert nella nostra testa, scrivendo al DOM

Una preoccupazione minore, ma ancora importante è la scrittura dei cookie - e superiore al limite dei 20 cookie di IE6 (sì, un'importante base di clienti è ancora su IE6 e rappresentano reali $$$) - quindi richiediamo (spero) che nessun javascript inserito nel nostro dominio non elimini alcun cookie aggiuntivo.

Ma, a parte il problema dei cookie, quali sono i rischi/gli scenari/i pericoli aggiuntivi di cui ho bisogno di sapere o che dovrei cercare, così posso mantenere il nostro sito e i nostri clienti felici.

Grazie

-Ricca

+1

Il tuo capo/gestore è a conoscenza dei problemi associati alla creazione di snippet del venditore sul sito? * I * penso che tu abbia ragione ad essere molto nervoso. Assicurati di discutere con qualcuno più in alto in modo che se qualcosa va davvero male, puoi dire che erano consapevoli e Okay all'inizio. – FrustratedWithFormsDesigner

+0

Se hai a che fare con il commercio potresti vedere molti di questi. Tendiamo a ottenerne molte sulle nostre pagine di pagamento per traffico e offerte di riferimento differenti. In alcuni casi sono solo pixel ma in altri casi sono javascript, in entrambi i casi non sono un grande fan dal momento che solo uno può bloccare il caricamento della pagina:/ – dstarh

risposta

7

No è ​​una parola grossa con molto potere. Prendilo bene.

Non hai alcun obbligo (salvo accordi legali e contrattuali) di includere frammenti di codice da fonti che non conosci e di cui ti fidi completamente. Se sei nervoso e sei responsabile per la stabilità e la sicurezza del tuo sito, SOLO NO.

JavaScript può essere una bestia selvaggia da domare. È molto facile per una sceneggiatura piccola, apparentemente innocua, far crollare l'intera casa. Non trattare mai una sceneggiatura semplice come la sua "solo una piccola cosa stupida". Basta uno script per sostituire una funzione chiave, ad esempio JQuery o AJAX o un'altra libreria, e il tuo sito scenderà in un tripudio di gloria.

+0

+1 per il saggio "No" :) – Jas

+0

Ben detto. Una volta che hai uno script remoto sulla tua pagina, PROPRIME la tua pagina. Può monitorare e riscrivere (o rompere accidentalmente) tutto ciò che vuole. –

3

C'è sempre la possibilità che un server di fornitori è compromessa e lo fanno una sorta di XSS.

2

Sembra che tu sia già a conoscenza di quelli principali: Rallentamento della pagina e possibilità di script di terze parti non ospitati potrebbero rompere o non essere presenti, causando problemi.

Dipende anche dall'affidabilità di queste terze parti. C'è sempre il cambiamento che il loro script potrebbe essere sostituito con qualcosa di malevolo.

+0

Per me ... questo è il vero problema ... il OP collega a uno script esterno, il sito del venditore viene violato e ora include il malware nelle sue pagine ... – w4ik

0

Perché portare l'onere della responsabilità per il codice che non hai scritto? Se qualcosa va storto, scommetto che il tuo manager non manterrà responsabili i produttori - ti terranno. Quindi dì di no a questo, anche se questo significa cambiare il tuo lavoro.

0

IE 8+ ha una nuova funzionalità denominata In filtraggio privato, che in pratica indica se trova lo stesso file javascript da N (configurabile) numero di domini, ma lo blocca solo dopo aver raggiunto il limite. Sarebbe male se fosse jquery per esempio. Questo è disabilitato di default ma è ancora un problema se gli utenti lo stanno usando.

Problemi correlati