[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Безопасность кода
kosmos_73
Народ, помогите решить такую задачу. Спасибо
Оцените, с точки зрения безопасности, следующий участок кода:
$id = $HTTP_GET_VARS['id'];

/* соединяемся с базой данных */
mysql_pconnect("localhost", "mysql_user", "mysql_password") or
die("Could not connect: " . mysql_error());

mysql_select_db("mydb");

/* здесь функция вернёт корректное число удалённых записей */
mysql_query("DELETE FROM mytable WHERE id = '$id'");

printf ("Records deleted: %d\n", mysql_affected_rows());




Спустя 4 минуты, 56 секунд (14.10.2010 - 08:32) arvitaly написал(а):
Безопасности тут нет в принципе

Спустя 1 час, 28 минут, 2 секунды (14.10.2010 - 10:00) ИНСИ написал(а):
kosmos_73 смотри в сторону intval, mysql_real_escape_sting, stripslashes

Спустя 14 минут, 31 секунда (14.10.2010 - 10:15) linker написал(а):
Здесь достаточно этого
$id = isset($_GET['id']) ? (integer)$_GET['id'] : 0;

Спустя 2 часа, 27 минут, 18 секунд (14.10.2010 - 12:42) arvitaly написал(а):
Можно еще так

    echo (isset($_GET['id']) ? (($id=(integer)$_GET['id'])!==$_GET['id'] && $id < 1) : true) and die("Введен неправильный код");
echo 'Введен корректный номер - ' . $id;


чтобы опечатки не было

Спустя 19 минут, 23 секунды (14.10.2010 - 13:01) Nord написал(а):
Цитата (arvitaly)

Можно еще так
    echo (isset($_GET['id']) ? (($id=(integer)$_GET['id'])!==$_GET['id'] && $id < 1) : true) and die("Введен неправильный код");


Вы и правда считаете, что это образцово-показательный код?

Спустя 2 минуты, 29 секунд (14.10.2010 - 13:04) arvitaly написал(а):
Цитата
Вы и правда считаете, что это образцово-показательный код?


неа) Но если учащиеся люди разберут его - то блин это будет очень полезно для них

Спустя 1 минута, 3 секунды (14.10.2010 - 13:05) Nord написал(а):
ну тогда ок)

Спустя 36 минут, 20 секунд (14.10.2010 - 13:41) inpost написал(а):
arvitaly
"true" на конце самое то... там как минимум надо false

Спустя 53 секунды (14.10.2010 - 13:42) arvitaly написал(а):
Цитата
"true" на конце самое то... там как минимум надо false


для чего? Вот уже и польза пошла)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.