[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: GET
gam0ra
Подскожите пожалуйста как убрать из глобального масива $_GET[''];
всякие кавычьки типо "'<>/':$
inpost
а зачем?

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
AllesKlar
gam0ra
Передавать get вида:
www.test.com?0=a&1=b&2=c&88=d


тогда ты будешь иметь:
$_GET[0] => 'a'
$_GET[1] => 'b'
$_GET[2] => 'c'
$_GET[88] => 'd'

Но, действительно, зачем?


_____________
[продано копирайтерам]
Valick
inpost, AllesKlar - это защита от плохих мальчиков и девочек smile.gif


_____________
Стимулятор ~yoomoney - 41001303250491
Xpund
Valick
Есть довольно много способов не убирая их обезапасится.

Ну а вообще регулярку можно юзануть!

_____________
минус, конечно, иногда полезен, но плюс мне нравиться больше :)
Женский журнал - Жена сказала раскрутить сайт любой ценой (Sorry)
AllesKlar
Цитата (Valick @ 11.02.2014 - 09:56)
inpost, AllesKlar - это защита от плохих мальчиков и девочек smile.gif

Это не защита. Это геморой, созданный себе своими же руками.
Автор никтогда не писал ничего более 50строк на коленках.

Т.к. если бы у него было хотя бы пара тысяч строк кода, то через месяц он бы тупо не вспомнил, что за параметр $_GET[0]

_____________
[продано копирайтерам]
gam0ra
Вобщем мне у меня через масив GET ключь для SQL запроса а если в этот запрос попадет ' или " то будет очень плохо) вот для чего!!!
gam0ra
В любом случаи всем спасибо!! я нашол ответ на свой вопрос!
$get = preg_replace('%[^A-Za-zА-Яа-я0-9]%', '', $_GET['get']);
Удаляет все спец символы с get запроса))
inpost
gam0ra
Когда пишешь:
mysqli_query($db, "
SELECT *
FROM `table`
WHERE `id` = "
.(int)$_GET['id']."
"
);


_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Valick
gam0ra, данные в SQL запрос надо эскейпировать
а перед выводом в браузер юзать htmlspecialchars() и будет тебе счастье
ну и в конце концов можно (а по мне так и нужно) не пихать переменную из GET сразу в запрос если она является управляющей конструкцией, а сделать оболочку.
___
но я так понимаю вы уже убежали "кодить в темную голову"

_____________
Стимулятор ~yoomoney - 41001303250491
gam0ra
Цитата (Valick @ 11.02.2014 - 16:36)
gam0ra, данные в SQL запрос надо эскейпировать
а перед выводом в браузер юзать htmlspecialchars() и будет тебе счастье
ну и в конце концов можно (а по мне так и нужно) не пихать переменную из GET сразу в запрос если она является управляющей конструкцией, а сделать оболочку.
___
но я так понимаю вы уже убежали "кодить в темную голову"

Покажите пример оболочьки
Игорь_Vasinsky
для строковых значений
$sql = "select * from table where name = '".mysql_real_escape_string($_GET['name'])."'";


приведение к типу
$sql = "select * from table where name = ".(int)$_GET['name'];


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
zelenuy
Цитата (gam0ra @ 11.02.2014 - 14:48)
Вобщем мне у меня через масив GET ключь для SQL запроса а если в этот запрос попадет ' или " то будет очень плохо) вот для чего!!!

:) Не знаю, я бы ключ привел к цифре, а перед тем как исполнить запрос проверил бы а пренадлижит ли этот ключ данному юзеру
abs((int)$_GET['name'])
JohnBraxton
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]);}

Быстрый ответ:

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