|
|
|
| Здравствуйте
я прочитал http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=8542
и задался вопросом
а можно ли делать ?
$login = $_GET['login'];
$login = strip_tags($login); // удаляем php теги
$login = htmlspecialchars($login); // преобразуем символы дополнительно от XSS
или так не делается по-людски и достаточно только htmlspecialchars для полной безопасности вводимых данных?
спасибо за квалифицированный ответ!
2. Попутно второй вопрос связанный с безопасностью
читая хедеры от пользователей форума //$gh = getallheaders(); , я заметил , что некторые пользователи возвращают Content-Type:application/x-www-form-urlencoded именно те пользователе , которые както пытаются нарушить работу форума!
Поиск в гугле дал лишь поверхностное представление и почти все ссылки укзывали на возможность взлома сайта, но конкретного так ничего и нет=(
У меня вопрос
КАК делают эти "хаккеры" возмодным Content-Type:application/x-www-form-urlencoded и что они могут сделать плохого и как это предотвратить!
Спасибо знатокам по безопасности! | |
|
|
|
|
|
|
|
для: Nevi
(07.01.2008 в 05:02)
| | >1. а можно ли делать ?
>$login = $_GET['login'];
>$login = strip_tags($login); // удаляем php теги
>$login = htmlspecialchars($login); // преобразуем символы дополнительно от XSS
нет.
>или так не делается по-людски
не по-людски
и достаточно только htmlspecialchars для полной безопасности вводимых данных?
нет, недостаточно, и даже вредно в указанном контексте.
Не бывает [не]безопасных данных.
Бывают [не]корректные алгоритмы их обработки.
фрагмент, который Вы привели - типичный пример некорректной обработки данных.
См. задачу 21 из одноименного раздела.
>КАК делают эти "хаккеры" возмодным Content-Type:application/x-www-form-urlencoded
Для этого достаточно в html-форме забыть указать enctype=multipart/form-data
Кстати, GET-запрос тут не при чем.
>и что они могут сделать плохого
Вероятно, всё, что Ваш скрипт не ожидает от них - и будет плохим.
Смена типа кодирования контента POST-запроса сама по себе атакой не является.
>и как это предотвратить!
Волшебного снадобья нет.
Придется изучать область более глубоко. | |
|
|
|
|
|
|
|
для: Trianon
(07.01.2008 в 09:11)
| | спасибо за ответ, но я как бы и не получил ответ - вернее решение =)
если так делать нельзя
>$login = $_GET['login'];
>$login = strip_tags($login); // удаляем php теги
>$login = htmlspecialchars($login); // преобразуем символы дополнительно от XSS
то как нужно ПРАВИЛЬНО ДЕЛАТЬ? | |
|
|
|
|
|
|
|
|
для: mihdan
(07.01.2008 в 14:38)
| | ++и достаточно только htmlspecialchars для полной безопасности вводимых данных?
+++нет, недостаточно, и даже вредно в указанном контексте.
а что конкретно вредно - подскажите плиз! | |
|
|
|