|
|
|
| Скажите, достаточно ли обрабатывать полученные из форм данные только этими функциями:
$str = htmlspecialchars(trim($str)); | |
|
|
|
|
|
|
|
для: Z3RO
(18.07.2011 в 23:14)
| | Вы случайно не отсюда пришли?
нет не достаточно
а htmlspecialchars вообще не к месту если следующая строка не echo $str; | |
|
|
|
|
|
|
|
для: Valick
(18.07.2011 в 23:22)
| | Нет. Не оттуда. Так я обрабатываю все строки принятые от пользователей перед записью в базу. Как тогда правильно? | |
|
|
|
|
|
|
|
для: Z3RO
(18.07.2011 в 23:37)
| | Отчего стоит защищаться в первую очередь:
- PHP-инъекция
- SQL-инъекция
- XSS | |
|
|
|
|
|
|
|
для: MHz
(18.07.2011 в 23:49)
| | Вот скажите, в этом коде есть дыра:
/*****************************Получаем ID*****************************/
if(isset($_GET['id']))
$id = urlencode(trim($_GET['id'])); // Из адресной строки
else
$id = $user_id; // Если в адресной строке ID не передан, принимаем ID текущего пользователя
/*********************************************************************/
$user = mysql_fetch_array(mysql_query(
"SELECT `id`, `sex`, `name`, `town`, `email`,
`telephone`, `icq`, `skype`, `jabber`, `site`,
`birth`, `realname`, `about`, `status`,`status_date`,
`rights`, `admp` FROM `users` WHERE `id` = '" . $id . "';"
)); //Получаем данные о пользователе
if($user)
{
// Код при правильном ID
}
else
header("Location: " . $home . "/id" . $user_id); // Если ID введён не корректно, переадресовываем на собственную анкету
|
| |
|
|
|
|
|
|
|
для: Z3RO
(19.07.2011 в 00:51)
| | Да, у Вас классический случай SQL-инъекции. id - это целые числа и $_GET['id']
нужно обрабатывать функцией intval()
надо строку
$id = urlencode(trim($_GET['id']));
|
заменить на
$id = abs(intval($_GET['id']));
|
| |
|
|
|
|
|
|
|
для: Valick
(19.07.2011 в 06:51)
| | abs тут не нужен.
!empty() && ctype_digit() и всё. | |
|
|
|
|
|
|
|
для: Valick
(19.07.2011 в 06:51)
| | Ок.Спс | |
|
|
|
|
|
|
|
для: Z3RO
(18.07.2011 в 23:14)
| | Нет, не достаточно. Вообще htmlspecialchars() предназначена для обработки вывода и скорее защищает от XSS-инъекции. От SQL-инъекции, более актуальные для баз данных, нужно числа приводить к числам, а строки - экранировать. | |
|
|
|
|
|
|
|
для: cheops
(19.07.2011 в 01:39)
| | Может ктото дать ссылку на хорошую статью в которой рассказывается о различных уязвимостях и методах борьбы с ними? | |
|
|
|
|
|
|
|
|
для: Саня
(19.07.2011 в 14:01)
| | Спасибо. То, что нужно. | |
|
|
|