Какой минимальный набор символов мне нужно запретить, чтобы избежать XSS - PullRequest
1 голос
/ 14 апреля 2011

Я пишу простой веб-сайт, и я ценю свою ответственность за то, чтобы не использовать мой сайт для XSS, однако я действительно не хочу тратить много времени на подробное или тяжелое решение. Если бы я должен был просто запретить список персонажей (что людям вообще не нужно было бы описывать свою любимую колбасу), какой самый маленький список, который я мог бы получить?

Пользователям по-прежнему нужна возможность написать абзац обычного текста. Поэтому мне нужно сохранить как минимум:

' " , . ; : - ( )

в надежде на то, что некоторые пользователи с меньшими грамматическими возможностями смогут применить их точно. Я собирался начать с <и>, но поиск показал, что само по себе не обязательно достаточно.

Ответы [ 3 ]

1 голос
/ 14 апреля 2011

То, что вам нужно сохранить

' " , . ; : - ( )

, не означает, что вам нужно сохранять их как буквальные символыПреобразовать все специальные символы в их HTML-сущности (например, преобразовать все < в &lt;

1 голос
/ 14 апреля 2011

Вы, вероятно, не должны просто запретить символы. Вместо этого предпочитайте, чтобы HTML экранировал любой ввод перед выводом его обратно пользователю. См. Шпаргалку по профилактике OWASP XSS (межсайтовый скриптинг) .

0 голосов
/ 23 апреля 2011

Вы не упомянули серверную платформу, с которой работаете (.NET, Java, PHP и т. Д.), И у каждого есть несколько разные способы работы с XSS. Однако есть две константы:

  1. Всегда проверяйте свои данные по белому списку. Не определяйте, что вы не разрешите, а определите, что вы разрешите.
  2. Всегда кодируйте свои выходные данные и делайте это для правильного языка. На большинстве платформ для этого есть библиотеки (например, AntiXSS для ASP.NET)

Более подробную информацию о более глубоком понимании XSS можно найти здесь: OWASP Top 10 для разработчиков .NET, часть 2: Межсайтовый скриптинг (XSS)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...