Лучший способ обеспечить безопасность и избежать XSS с введенными пользователем URL-адресами
Чтобы сделать ссылку "безопасной", нужно xss-prevention пройти три или четыре этапа:
- Отменить экранирование / перекодировать заданную строку (RSnake задокументировал ряд уловок в http://ha.ckers.org/xss.html , которые используют экранирование и кодирование UTF).
- Очистите ссылку: регулярные выражения - хорошее начало - не забудьте обрезать строку или выбросить ее, если она содержит "(или что-то еще, что вы используете для закрытия атрибутов в своем выводе); если вы делаете ссылки только в качестве ссылок на другую информацию вы также можете принудительно использовать протокол в конце этого процесса - если часть перед первым двоеточием не является «http» или «https», тогда добавьте «http: //» в начало. Это позволяет вам для создания полезных ссылок из неполного ввода, как пользователь вводит текст в браузере, и дает вам последний шанс спровоцировать любые неприятности, к которым кто-то пытался проникнуть.
- Убедитесь, что результатом является правильно сформированный URL (протокол: //host.domain [: порт] [/ путь] [/ [файл]] [? queryField = queryValue] [#anchor]).
- Можно сравнить результат с черным списком сайта или попытаться получить его с помощью какой-нибудь программы проверки на вредоносное ПО.
Если urls безопасность является приоритетом, я xss-prevention надеюсь, что пользователи xss-prevention простят немного паранойи cross-site-scripting в этом процессе, даже если cross-site-scripting в конечном итоге некоторые html-sanitizing безопасные ссылки будут отброшены.
security
url
xss
html-sanitizing
Лучший способ обеспечить безопасность и избежать XSS с введенными пользователем URL-адресами
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.