Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Безопасность передаваемых данных
 
 автор: Nevi   (07.01.2008 в 05:02)   письмо автору
 
 

Здравствуйте
я прочитал 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 и что они могут сделать плохого и как это предотвратить!

Спасибо знатокам по безопасности!

   
 
 автор: Trianon   (07.01.2008 в 09:11)   письмо автору
 
   для: 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-запроса сама по себе атакой не является.

>и как это предотвратить!

Волшебного снадобья нет.
Придется изучать область более глубоко.

   
 
 автор: Nevi   (07.01.2008 в 14:29)   письмо автору
 
   для: Trianon   (07.01.2008 в 09:11)
 

спасибо за ответ, но я как бы и не получил ответ - вернее решение =)
если так делать нельзя
>$login = $_GET['login'];
>$login = strip_tags($login); // удаляем php теги
>$login = htmlspecialchars($login); // преобразуем символы дополнительно от XSS

то как нужно ПРАВИЛЬНО ДЕЛАТЬ?

   
 
 автор: mihdan   (07.01.2008 в 14:38)   письмо автору
 
   для: Nevi   (07.01.2008 в 05:02)
 

для начала так

http://softtime.ru/info/articlephp.php

   
 
 автор: Nevi   (08.01.2008 в 02:37)   письмо автору
 
   для: mihdan   (07.01.2008 в 14:38)
 

++и достаточно только htmlspecialchars для полной безопасности вводимых данных?
+++нет, недостаточно, и даже вредно в указанном контексте.

а что конкретно вредно - подскажите плиз!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования