class prot {
public static function esc($sql)
{
return trim(mysql_real_escape_string($sql));
}
public static function int($type = null)
{
if ($type != null)
$result = (int) abs($int);
else
$result = (int) ($int);
return $result;
}
}
if (isset($_GET['age'], $_GET['country']))
{
mysql_query('SELECT * FROM `users` WHERE `age` = "'.prot::int($_GET['age'],1).'" AND `country` = "'.prot::esc($_GET['country']).'"');
}
//обертка не ахти ,прост для примера . ну использовать htmlspecialchars в запросе .....мат мат мат
//от твоей защиты больше вреда чем пользы ,когда люди поймут что данные нужно заносить через escape и у еще на выходе на свое усмотрение фильтровать...
омг, ты на си язык посмотри, там нет пдо, там есть мускул, посмотри как они данные защищают. такой же способ предложил и я.
Z[Э]rtroiL, вот скажи это язык си? нет ,это php . следуй стандартам ,и логике . я конечно раньше и сам в запросах использовал htmlspe........
Но щас если б я увидел у кого-то в коде ,я б руки поломал .
-------------
Надеюсь конечно ты не используешь подобные схемы в других местах типа сообщений,описания или что-то в этом стиле ?
госпади, чем тебя не устраивает htmlspecialchars? вот а если я делаю апдэйт? что что дальше?
Z[Э]rtroiL, хотя бы то что ты используешь функцию не по её правильному назначению . я тебе вроде не запрещал ,и не могу. но советовал бы передавать данные именно через escape ну а на выходе html... использовать . ну ,а лучше это дело в обертку загнать.
Я как понимаю $_GET['country'] = названию города ,а что если в название содержится к примеру "'"? да и вообщем то другие слова ...
всмысле? я вообще не понимаю тебя.. sprintf фильтрует ' и ", htmlspecialchars заменит символы.. к чему эти тупые дискуссии?
Z[Э]rtroiL,
стритреплайз тоже заменяет))
ладно пиши как хочешь)
если через пол годика, тут тему и тебя застану, отпишусь ,посмеемся вмести)
я программированием занимаюсь 7 лет.