Codeigniter xss_clean дилемма

Я знаю, что этот вопрос задавали снова и снова, но я до сих пор не нашел идеальный ответ на свой вкус, поэтому снова и снова ...

Я много и много читал о поляризационных комментариях о xss_filter. В основном большинство говорит, что это плохо. Может кто-нибудь уточнить, как это плохо, или, по крайней мере, привести 1 наиболее вероятный сценарий, где его можно использовать? Я посмотрел на класс безопасности в CI 2.1 и думаю, что он довольно хорош, поскольку не допускает вредоносных строк, таких как document.cookie, document.write и т. Д.

Если сайт в основном не представлен в формате html, безопасно ли использовать глобальный xss_filter (или, если он ДЕЙСТВИТЕЛЬНО влияет на производительность, использовать его для каждой формы после публикации) перед вставкой в базу данных? Я читал о плюсах и минусах о том, следует ли избегать при вводе / выводе, и большинство говорит, что мы должны избегать только при выводе Но опять же, зачем разрешать такие строки как<a href="javascript:stealCookie()">Click Me</a> чтобы вообще сохранить в базе данных?

Единственное, что мне не нравится, этоjavascript: и такие будут преобразованы в[removed]. Могу ли я расширить ядро безопасности CI$_never_allowed_str массивы, так что никогда не разрешенные строки возвращают пустые, а не[removed].

Лучший разумный пример правонарушений, которые я читал, - если у пользователя есть парольjavascript:123 он будет очищен в[removed]123 что означает строку как этаdocument.write123 также будет передаваться как пароль пользователя. Опять же, какова вероятность того, что это произойдет, и даже если это произойдет, я не могу думать о каком-либо реальном вреде, который может нанести сайту.

Благодарност

Ответы на вопрос(1)

Ваш ответ на вопрос