Предотвращение атак XSS - PullRequest
2 голосов
/ 16 июня 2011

У меня есть веб-приложение, написанное на PHP. Шаблонный движок SMARTY. Мой вопрос очень прост, но ответ не должен быть таким простым, потому что я безуспешно искал его.

Когда я подключаюсь к порту 80 и запускаю следующую команду:

GET /some_directory_on_my_server/?""><SCRIPT>alert(123)</SCRIPT>

Серверы отвечают обратно HTML-страницей. Когда я сохраняю эту HTML-страницу и открываю ее в браузере, в верхней части страницы отображается предупреждение (123), что означает, что сайт уязвим для межсайтовых сценариев (XSS).

Мой вопрос: как мне получить доступ к фактическому URL , введенному пользователем, для его очистки? Когда дело доходит до санации пользовательского ввода для форм или запросов к базе данных , сценарий выглядит намного проще, потому что у вас на самом деле есть переменная, которой можно манипулировать, но в случае фактический URL , введенный пользователем в браузере, как я могу получить сам url для его очистки?

К вашему сведению, я уже прочитал все модули, которые предоставляют библиотечные функции для XSS Prevention, но ни один не дает мне пример того, как бороться с фактическим URL XSS Attack. Кстати, мой magic_quote_gpc в моей конфигурации php уже выключен. Что мне теперь делать? Есть мысли?

...