Есть ли хорошая библиотека в CPAN для фильтрации текстового поля для всех плохих вещей, таких как xss?Есть ли хорошая библиотека в CPAN для фильтрации межсайтовых скриптов (XSS)?
ответ
Ваш первый шаг должен всегда состоять в поиске и просмотре результатов. Похоже, есть lots of potential hits. Когда я ищу что-то новое, я просматриваю результаты поиска и проверяю документы модулей, чтобы понять, насколько они понятны и насколько хорошо построен API. Я также ищу отзывы (некоторые из них, некоторые из них - это часто случайные) и проверяют ошибки. Это дает мне представление о том, с чем я имею дело.
Если у вас есть вопрос «Какой из этих вариантов лучше?», То, боюсь, я не знаю в этом случае. (Мой первоначальный ответ может быть слишком общий.)
Два хороших мест, чтобы начать поиск CPAN:
На базовом уровне вы хотите HTML::Entities, но которые вы выбрали, зависит от того, где в DOM вы используете значения. Это вообще не поможет html-сущности кодировать ввод пользователя, если вы вставляете его в тег <script>
, например.
Это довольно вероятно, что вы используете какой-то шаблон для генерации HTML, поэтому он должен иметь метод, чтобы избежать содержания, HTML::Mason
имеет <% $thing |h %>
, Template::Toolkit
имеет [% thing | html %]
... но если вы просто делаете это в вашем собственном коде вам нужно позвонить по телефону encode_entities
.
Возможно, это дубликат [Фильтрация JavaScript из HTML] (http://stackoverflow.com/questions/858773/filtering-javascript-out-of-html). – sleske