Помощник
|
Защита от XSS |
r0mZet
|
Сообщение
#1
|
||
|
|
||
|
|||
alex159 |
28.10.2013, 12:54;
Ответить: alex159
Сообщение
#2
|
|
как можно защитить самописный сайт на PHP от XSS ? какие есть рецепты? =) Самый просто способ это "нападать" на свой же сайт и найти уязвимости. от XSS есть не мало функции strip_tags() – вырезает теги HTML и PHP из строки. htmlspecialchars() — конвертирует только специальные символы (‘&’, ‘»‘, »’, ‘<’ и ‘>’) в HTML сущности (‘&’, ‘"’…). Используется для фильтрации вводимых пользователем данных для защиты от XSS-атак. htmlentities() – конвертирует все символы в строке (кроме букв) в мнемоники HTML. Используется для защиты от XSS, являясь более гибким аналогом htmlspecialchars. stripslashes() – удаляет заэкранированные символы (после преобразования в сущности предыдущими функциями их незачем экранировать) В коде лучше сразу делать защиту, проверять все данные которые вводятся, у беря пробелы и спец символы. Еще можно и нужно делать фильтрацию всех GET и POST запросов. Вот есть такая простая функция function defender_xss($arr){
$filter = array("<", ">","="," (",")",";","/"); foreach($arr as $num=>$xss){ $arr[$num]=str_replace ($filter, "|", $xss); } return $arr; } |
|
|
r0mZet
|
Сообщение
#3
|
|
Не могли бы Вы с этого места поподробней? Куда и как нужно все это прописать?
|
|
|
alex159 |
28.10.2013, 13:33;
Ответить: alex159
Сообщение
#4
|
|
Не могли бы Вы с этого места поподробней? Куда и как нужно все это прописать? Я привел примеры функций и самописную функцию. Так, открываем по очереди все файлы и смотрим. Где происходит вывод, ввод в базу данных или что то еще.(думаю кроме админ панели). И перед тем как работать с данными которые получили, фильтруем их к примеру через эту функцию $you = strip_tags($you); // Вместо $you ваша переменная которая содержит какие либо данные которые могу идти с не доверенных источников. К примеру в каких то формах на сайте перед тем как дать их значения обработчику провести через эту функцию function defender_xss($arr){ $filter = array("<", ">","="," (",")",";","/"); foreach($arr as $num=>$xss){ $arr[$num]=str_replace ($filter, "|", $xss); } return $arr; } $_REQUEST=defender_xss($_REQUEST); // Эта строка проверить все GET и POST запросы на содержание следующих символов "<", ">","="," (",")",";","/" Примеру форма входа в админку Фильтруется, а потом передается обработчику. $login = trim($login); $password = trim($password); // Далее передаем обработчику Можно для надежности добавить еще пару проверок. |
|
|
r0mZet
|
Сообщение
#5
|
|
|
Спасибо! Весьма подробно расписано
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
WordPress: ускорение, защита, оптимизация | 35 | wp01 | 20054 | 9.11.2022, 14:24 автор: wp01 |
|
WordPress: ускорение, защита, оптимизация | 41 | wp01 | 9611 | 21.9.2020, 16:44 автор: wp01 |
|
Нужна защита сайта от парсинга Сайт парсит WpGrabber, нужна защита |
18 | Limonadik | 4976 | 20.5.2020, 0:18 автор: pyaterka |
|
Удаление вирусов с сайтов, хостинга и серверов. Защита от взлома и устранение уязвимостей | 0 | vixan | 2369 | 3.11.2018, 20:40 автор: vixan |
|
Защита WEB-сайтов от взлома и атак хакеров | Anti DDos | 0 | webitproff | 1486 | 30.10.2017, 16:19 автор: webitproff |
Текстовая версия | Сейчас: 24.4.2024, 9:31 |