[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Доступ к БД из вне .
fortuna
Меня интересует как можно закрыть доступ от иньекции ?
у меня сайт всегда заканчиваеться на id
site.ru/1.html
Вот так , я написал вот такой скриптик .

function valid_id($names)
{
if (preg_match ('/^[0-9 \._\-]/',$names))
return true;
else
return
false;
}

$mod =(isset($_GET['mod']))?$_GET['mod']:false;

try
{
if (!valid_id($mod)){throw new Exception ("Недопустимый адрес.");}
}

catch (exception $e)
{
echo $e->getMessage()."Ошибка .";
exit();
}


Чтобы только в URL попадали числа и всё , больше не чего .
Кто что скажет ?




Спустя 4 минуты, 46 секунд (1.10.2012 - 14:39) inpost написал(а):
а is_numeric не подходит? Или тот же filter_var ?

Спустя 14 минут, 38 секунд (1.10.2012 - 14:54) fortuna написал(а):
inpost
Спасибо , взял за основу is_numeric .
P.S По незнайке собрал велосипед .

Спустя 8 минут, 55 секунд (1.10.2012 - 15:03) inpost написал(а):
Да и зачем ошибку выводить, лучше сразу к типу приводить:
(int), (float). Только зачем подчеркивание и тире тут - не понимаю.

Спустя 5 минут, 16 секунд (1.10.2012 - 15:08) fortuna написал(а):
inpost
А поточнее можно ? в смысле int , float ?

Спустя 13 минут, 8 секунд (1.10.2012 - 15:21) Hello написал(а):
fortuna
$a = '1.01qweqwe';
echo (int)$a; //1
echo (float)$a; //1.01

Спустя 23 минуты, 30 секунд (1.10.2012 - 15:45) fortuna написал(а):
Как я понял , можно вот так сделать и всё ?
if ((int)$mod)
{
echo $mod;
}else{
header('Refresh: 3; URL=http://www.yandex.ru');
}
Быстрый ответ:

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