mysql_real_escape_string?
Вот как я делаю.
1. Приводить данные к нужному типу.+
2. Прогонять через регулярные выражения
3. Прогонять через mysql_real_escape_string, addslashes
4. Имена полей и таблиц следует заключать в обратные одинарные кавычки - "`"
Давайте обсудим.
З.Ы. Подскажите регулярное выражение разрешающее только цифры в переменной
Спустя 29 минут, 53 секунды (21.04.2010 - 00:30) igor717 написал(а):
Ну проверку на числовое значение можно сделать так:
if (!preg_match("|^[\d]+$|", $a))
{
Если выясняется, что переменная $a содержит что-то кроме целого числового значения, то уж сами решайте что с ней делать...
}
if (!preg_match("|^[\d]+$|", $a))
{
Если выясняется, что переменная $a содержит что-то кроме целого числового значения, то уж сами решайте что с ней делать...
}
Спустя 9 минут, 21 секунда (21.04.2010 - 00:39) sochinec написал(а):
Пардон, что то не получается, не видет эта конструкция, что я написал add.php?car=ujjhh
тоесть что в перменной буквы.
тоесть что в перменной буквы.
Спустя 13 минут, 50 секунд (21.04.2010 - 00:53) igor717 написал(а):
Ну по поводу этой конструкции можно к примеру вывести так:
Это очень удобно на мой взгляд использовать в проверки GET переменных, которые отвечают за вывод определенного любого контента, при условии что мы то знаем что в этой переменной ничего иного не должно появится нежели целое число к примеру ?news=10 выводит статью с id=10.
Ну а если нужно там к примеру удалить из переменной все кроме чисел то можно так:
Выведит - 123.
if (!preg_match("|^[\d]+$|", $a))
{
exit ("Вы ввели что-то не то");
}
Это очень удобно на мой взгляд использовать в проверки GET переменных, которые отвечают за вывод определенного любого контента, при условии что мы то знаем что в этой переменной ничего иного не должно появится нежели целое число к примеру ?news=10 выводит статью с id=10.
Ну а если нужно там к примеру удалить из переменной все кроме чисел то можно так:
$a = "/kjhsdf12.3&^./";
$a = trim(preg_replace("|[^0-9]|", "",$a));
echo $a;
Выведит - 123.
Спустя 4 часа, 54 минуты, 12 секунд (21.04.2010 - 05:47) glock18 написал(а):
sochinec
самое надежное вообще не использовать базу данных. тогда почти наверняка от sql-атак огражден (хотя и здесь дуба можно дать)![wink.gif](http://phpforum.ru/html/emoticons/wink.gif)
igor717
для проверки целочисленности или приведения аргумента к целочисленному есть целая куча способов, и ты использовал один из самых неудачных. есть несколько простых функций, не использующих регулярные выражения, для этого. is_numeric, intval, ctype_digit например.
самое надежное вообще не использовать базу данных. тогда почти наверняка от sql-атак огражден (хотя и здесь дуба можно дать)
![wink.gif](http://phpforum.ru/html/emoticons/wink.gif)
igor717
для проверки целочисленности или приведения аргумента к целочисленному есть целая куча способов, и ты использовал один из самых неудачных. есть несколько простых функций, не использующих регулярные выражения, для этого. is_numeric, intval, ctype_digit например.
Спустя 5 минут, 15 секунд (21.04.2010 - 05:53) twin написал(а):
Спустя 5 часов, 26 минут, 30 секунд (21.04.2010 - 11:19) igor717 написал(а):
Ну просто он спросил
Цитата |
З.Ы. Подскажите регулярное выражение разрешающее только цифры в переменной |
Спустя 6 минут, 28 секунд (21.04.2010 - 11:26) twin написал(а):
Он спросил не это. Он спросил дословно:
Цитата |
Как забить гвоздь микроскопом? |