Защита от XSS

1. bazooka (31.03.2010 / 22:58)
Вопрос в том от уезвимости xss, как защитить от этой атаки, тоесть набераем в окне поисковика или блока форм данную функцию "><script>alert()</script> и вылетает окошко при нажатия поиска. Дайте инфо как избавиться от этого!

2. Neformat (31.03.2010 / 23:03)
$str = htmlspecialchars($str, ENT_QUOTES);
http://www.php.su/functions/?htmlspecialchars

3. bazooka (31.03.2010 / 23:11)
За инфо спс, но данная функция не помогла
$str = htmlspecialchars($str, ENT_QUOTES);

4. Neformat (31.03.2010 / 23:18)
3. bazooka, значит ты не туда ее поставил. От XSS как раз достаточно htmlspecialchars().
Функция вставляется в том месте, где результат обработки твоей формы, а $str - название переменной (учитывая как она передается POST или GET если регглобал офф) для каждого поля ввода.

5. ramzes (31.03.2010 / 23:25)
Тут уже таких тем с десяток и в каждой все разжеванно до немогу. И куча фильтров приведены для примера.

6. bazooka (31.03.2010 / 23:36)
Да все туда, прост много че испробывал, и поиском и т.д. у меню руки растут где надо, я розоблачил много чего и закрыл дыры, но где в поиск вставляешь это "><script>alert()</script> выйдет экран алерт.

7. Владислав (31.03.2010 / 23:43)
6. bazooka, ооо Господи
$search = htmlspecialchars($_POST['query']);

8. bazooka (31.03.2010 / 23:51)
Не помогло
$search = htmlspecialchars($_POST['query']);

9. Neformat (31.03.2010 / 23:53)
$_POST['site'] = htmlspecialchars($_POST['site']);
или
$site = htmlspecialchars($_POST['site']);
Попробуй. Должно помочь.

10. Дмитрий (31.03.2010 / 23:55)
тебе уже сказали, что ты не туда вставляешь.
--
могу написать тебе тоже самое, а ты завтра ответишь мне что не помогло))

11. bazooka (01.04.2010 / 00:07)
Neformat вставил код, но ща при атаки корезябли, короче тоже не спасло.

12. Игорь (01.04.2010 / 01:23)
Neformat (Вчера / 23:53)
$_POST['site'] = htmlspecialchars($_POST['site']);
неправильно

13. Игорь (01.04.2010 / 01:29)
Neformat (Вчера / 23:53)
$site = htmlspecialchars($_POST['site']);
Попробуй. Должно помочь.
должно правильно быть

14. Игорь (01.04.2010 / 01:32)
например мы добавляем сообщение или ввод в переменную $msg тогда так
 $msg = substr($_POST["msg"]);
$msg = htmlspecialchars(stripslashes($msg)); 


15. bazooka (01.04.2010 / 01:54)
AsviS 13 пост помог, спасибо огромное!

16. Azzido (01.04.2010 / 06:52)
12, это правильный пост, и ошибки он не вызовет, лишь заменит элемент глобального массива

17. Azzido (01.04.2010 / 06:54)
14, $msg = substr($_POST["msg"]); ---- где здесь дополнительные параметры откуда и докуда обрезать???? http://www.php.su/functions/?substr а лучше http://www.php.su/functions/?mb-substr или http://www.php.su/functions/?iconv-substr

18. Azzido (01.04.2010 / 06:59)
14, stripslashes объясни для чего ты применил эту функцию? С ней надо поосторожней, иначе символы которые ты экранировал, так сказать обретут свою силу.

19. Саня (01.04.2010 / 10:16)
В скриптах халявных насмотрелись и теперь пихают куда попало.

20. Удаленный (01.04.2010 / 20:52)
<script>alert()</script>

21. Игорь (02.04.2010 / 02:06)
Azzido (Вчера / 06:59)
14, stripslashes объясни для чего ты применил эту функцию? С ней надо поосторожней, иначе символы которые ты экранировал, так сказать обретут свою силу.
Удаляет экранирующие бэкслэши. (\' преобразуется в ', и т.д.). Двойные бэкслэши (\\) преобразуется в одиночные(\).
stripslashes() используется, например, когда директива конфигурации magic_quotes_gpc включена (она включена по умолчанию), и экранирование символов не требуется. Например, данные не вставляются в базу данных, а просто выводятся в браузер.

22. Azzido (02.04.2010 / 06:40)
"Опция magic quotes будет так же исключена из PHP и при попытке включения такой настройки, «выскочит» ошибка E_CORE_ERROR. Это повлияет на magic_quotes, magic_quotes_sybase и magic_quotes_gpc." - - вот что говорят о php6 так что не следует применять ненужные функции, в данном случае, а готовясь к переходу, отключать эту настройку в .htaccess

23. Игорь (03.04.2010 / 12:35)
Стрипслешес может работать и без магических кавычек! Так как в пхп6 ее никто не отменял

URL: https://visavi.net/topics/7633