Да ёпрст. Ну как можно защититься от спида, не зная что это и как передается? Ты собираешься на бл к девушкам легкого поведения, надев респиратор, а нужно совсем другое резиновое изделие.
Вот что будет, если я захочу к примеру написать такой текст в твой блог или куда там:
Цитата |
XSS атаки, это не просто внедрение в текст последвательности символом <script>текст скрипта</script>. Это гораздо более широкое понятие. |
? Сможет это увидеть читатель? А вот я напишу такую фишку:
HTML |
<img src="javascript:alert(document.cookie)" /> |
? Запусти для интереса, ничего страшного не случится. И где ты тут видишь слово <script>?
Прежде чем делать защиту, нужно изучить вопрос, а не тыкаться как слепой кутенок.
НЕ ИЗОБРЕТАЙ ВЕЛОСИПЕД.
Изучи принципы отображения информации и все встанет на свои места. Основной принцип:
Браузер исполняет то, что находится между спецсимволами <> и отображает все остальное. Это совсем не значит, что нужно бояться этих символов. Просто если их нужно отобразить, то есть для этого эквиваленты. А если нужно исполнить, то выдавать (а не принимать) нужно чистый текст.
Пусть в базе будет то, что написал юзер, никому это не повредит ровным счетом. А перед выдачей, вот тут:
и нужно все заменить. Делается это одним движением:
PHP |
echo htmlspecialchars($text); |
Всё, что получено от юзера, перед выдачей должно обрабатываться этой функцией. А вся собственная разметка не должна. Вот и всё.
Какие нафиг классы-шмассы, да еще и кривые такие? Где вы их берете только... Мне почему то такое не попадается...