Подскожите пожалуйста как убрать из глобального масива $_GET[''];
всякие кавычьки типо "'<>/':$
www.test.com?0=a&1=b&2=c&88=d
Цитата (Valick @ 11.02.2014 - 09:56) |
inpost, AllesKlar - это защита от плохих мальчиков и девочек |
mysqli_query($db, "
SELECT *
FROM `table`
WHERE `id` = ".(int)$_GET['id']."
");
Цитата (Valick @ 11.02.2014 - 16:36) |
gam0ra, данные в SQL запрос надо эскейпировать а перед выводом в браузер юзать htmlspecialchars() и будет тебе счастье ну и в конце концов можно (а по мне так и нужно) не пихать переменную из GET сразу в запрос если она является управляющей конструкцией, а сделать оболочку. ___ но я так понимаю вы уже убежали "кодить в темную голову" |
$sql = "select * from table where name = '".mysql_real_escape_string($_GET['name'])."'";
$sql = "select * from table where name = ".(int)$_GET['name'];
Цитата (gam0ra @ 11.02.2014 - 14:48) |
Вобщем мне у меня через масив GET ключь для SQL запроса а если в этот запрос попадет ' или " то будет очень плохо) вот для чего!!! |
abs((int)$_GET['name'])
foreach ($_POST as $inx => $val) {
$_POST[$inx] = htmlspecialchars($_POST[$inx]);
if (!ini_get(magic_quotes_gps))
$_POST[$inx] = addslashes($_POST[$inx]);}
foreach ($_GET as $inx => $val) {
$_GET[$inx] = htmlspecialchars($_GET[$inx]);
if (!ini_get(magic_quotes_gps))
$_GET[$inx] = addslashes($_GET[$inx]);}
foreach ($_COOKIE as $inx => $val) {
$_COOKIE[$inx] = htmlspecialchars($_COOKIE[$inx]);
if (!ini_get(magic_quotes_gps))
$_COOKIE[$inx] = addslashes($_COOKIE[$inx]);}