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
также будет передаваться как пароль пользователя. Опять же, какова вероятность того, что это произойдет, и даже если это произойдет, я не могу думать о каком-либо реальном вреде, который может нанести сайту.
Благодарност