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

Форум PHP

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

 

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

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

тема: Безопасть GET
 
 автор: brys   (29.01.2008 в 04:14)   письмо автору
 
 

Такой проверки на безопастность достаточно для данных переданным методом GET ?


<?php
$id 
$_GET['id'];
    
$id intval($_GET['id']);
    if(!
eregi("^[0-9]$"$id))
    {
       echo 
"<HTML><HEAD><META HTTP-EQUIV='Refresh' CONTENT='0; URL=".$_SERVER['HTTP_REFERER']."'></HEAD></HTML>";
       exit();
    }
?>

   
 
 автор: localGhost   (29.01.2008 в 06:15)   письмо автору
 
   для: brys   (29.01.2008 в 04:14)
 

мне кажеться достаточно проверить значение переменной функцией is_numeric($id)

   
 
 автор: kasmanaft   (29.01.2008 в 07:14)   письмо автору
 
   для: brys   (29.01.2008 в 04:14)
 

После intval() в $id не может быть ничего кроме цифр. Так что eregi() лишнее.
И строка $id = $_GET['id']; тоже лишняя.

PS ваша eregi("^[0-9]$", $id) пропустит числа длиной только в один символ.

   
 
 автор: bronenos   (29.01.2008 в 10:25)   письмо автору
 
   для: kasmanaft   (29.01.2008 в 07:14)
 

is_numeric($_GET['id']) - достаточно

   
Rambler's Top100
вверх

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