2012-11-21 10 views
12

Sto utilizzando JSHint, e ha ottenuto il seguente errore:Qual è il problema con gli URL con targeting per script?

Script URL. 

che ho notato che è successo perché in questa particolare linea v'è una stringa contenente un URL javascript:....

So che JSHint si è lamentato del fatto che, poiché l'opzione scripturl è impostata, e poiché il mio codebase è abbastanza grande, dovrò disinserirlo per ora.

Tuttavia, non ho capito qual è il problema dell'utilizzo degli URL di script?

+0

È una cattiva pratica. – epascarello

+6

@epascarello: Sta chiedendo perché. – SLaks

+3

Quindi perché non ho fatto una risposta! Voi ragazzi siete fantastici! – epascarello

risposta

19

javascript: Gli URL fanno parte di "eval is evil".

Per eseguire l'URL javascript:, il browser deve attivare un parser JS e analizzare il testo dell'URL.
Questo è un processo lento e costoso.

Inoltre, l'assemblaggio degli URL javascript: (o altre stringhe che contengono codice sorgente) è un'operazione complessa soggetta alle vulnerabilità XSS.

Infine, la combinazione di codice e URL viola la separazione di contenuto e comportamento (codice).

+0

Non deve fare la stessa analisi se si mette lo script in '

Problemi correlati