Что случилось с URL-адресами, ориентированными на сценарии?

Я использую JSHint, и он получил следующую ошибку:

Script URL.

Что я заметил, что произошло, потому что на этой конкретной строке есть строка, содержащая javascript:... URL.

Я знаю, что JSHint жаловался, что, потому что scripturl опция установлена, и так как моя кодовая база довольно большая, мне придется ее сейчас сбросить.

Тем не менее, я не понял, в чем проблема использования URL-адресов скриптов?

1 ответ

Решение

javascript: URL-адреса являются частью "eval is evil".

Для того, чтобы выполнить javascript: URL, браузер должен запустить анализатор JS и проанализировать текст URL.
Это медленный и дорогостоящий процесс.

Также сборка javascript: URL (или другие строки, содержащие исходный код) - сложная задача, которая подвержена уязвимостям XSS.

Наконец, смешивание кода и URL-адресов нарушает разделение контента и поведения (кода).

Другие вопросы по тегам