XSS URL-фильтрация - PullRequest
       12

XSS URL-фильтрация

1 голос
/ 19 июня 2011

Я использую эту функцию, которую я сделал, хотя, вероятно, не оригинально, и мне было интересно, хорошо ли это для фильтрации атак XSS на основе URL.вот оно

function clean($url) {
    return strip_tags(html_entity_decode(urldecode($url), null, 'UTF-8'), ENT_QUOTES);
}

Если бы не точка в правильном направлении, было бы неплохо

Ответы [ 2 ]

2 голосов
/ 20 июня 2011

Я предлагаю вам выбрать известный фреймворк (стабильный), такой как Codeigniter, Kohana, Yii, Zend и просмотреть его исходный код.Большинство из них предоставляют такие вспомогательные функции, которые вы можете адаптировать.Таким образом, вы получаете преимущество использования чего-то «отредактированного сообществом», которое всегда соответствует большинству угроз безопасности.

1 голос
/ 21 июня 2011

Я бы посоветовал взглянуть на Проект ESWI OWASP . Они создали библиотеку кодирования, которая поставляется на разных языках, включая Java, .NET, PHP, Classic ASP, Cold Fusion, Python и Haskell. У него есть инструменты для кодирования ненадежных данных для контекста, с которым вы имеете дело:

  • encodeForHTML
  • encodeForHTMLAttribute
  • encodeForJavaScript
  • encodeForCSS
  • encodeForURL

Он также обслуживает проверку входных данных. Некоторые организации, использующие ESAPI, включают American Express, Apache Foundation, Booz Allen Hamilton, Aspect Security, Foundstone (McAfee), Hartford, Infinite Campus, Lockheed Martin, MITER, ВМС США - SPAWAR, Всемирный банк, Институт SANS.

Я также рекомендую прочитать их XSS Prevention Cheat Sheet , в которой описаны лучшие методы построения вашей защиты от XSS (по сути, это сводится к тому, что вы ДОЛЖНЫ использовать синтаксис escape для части HTML документ, в который вы помещаете ненадежные данные).

...