|
|
|
|
|
для: Dazzl
(22.03.2012 в 16:35)
| | Для решения проблем с SQL-инъекциями нужно знать что это такое, не обязательно, но хорошо бы уметь их составлять. А чем вы будете решать это стандартными функциями, PDO, организацией кода, большого значения не имеет. Хотите PDO можно PDO, хотите подготовленными запросами...
PS Суть в том, что MySQL не единственная база данных, а PHP не единственный программист - проблема общая, поэтому нужно о ней знать вообще, а инструменты у вас будут везде разные, главное отдавать себе отчет в том, что делаешь и зачем это делаешь (иначе рано или поздно появится соблазн этого не делать). | |
|
|
|
|
|
|
|
для: Dazzl
(22.03.2012 в 13:29)
| | Люди мне тут сказали что для решения проблем с SQL - инъекции нужно поюзать PDO что вы думаете на счет этого? | |
|
|
|
|
|
|
|
для: Valick
(22.03.2012 в 13:17)
| | А ну да, я так и делаю типо вот так:
$name = $_REQUEST['name'];
if (!empty(name))
..."'.mysql_real_escape_string($name).'"...
|
| |
|
|
|
|
|
|
|
для: Dazzl
(22.03.2012 в 13:00)
| | mysql_real_escape_string($_GET['city'])
лучше всетаки сначала принять переменную, убедиться что она существует, присвоить значение по умолчанию, если переменная не передана, а потом обрабатывать | |
|
|
|
|
|
|
|
для: Dazzl
(22.03.2012 в 09:29)
| | А-а! все-все получился у меня фокус с:
SELECT * FROM userslist WHERE id_user = -1
UNION
SELECT id_user, name, pass, email, url FROM userslist WHERE id_user = 1
|
я начинаю понимать ))
Вообщем люди, я почитал немного в инете и такой расклад:
'" . mysql_real_escape_string($_GET['city']) . "'
|
такой подход считается более или менее безопасным относительно текстовых запросов, что вы об этом думаете?
а на счет числовых данных то же что предлогали и вы функция intval() тока я не до конца понимаю что она делает ( | |
|
|
|
|
|
|
|
для: cheops
(21.03.2012 в 17:12)
| | Здравствуйте!
Значит у меня не получилось воспроизвести ситуацию, но алгоритм я понял.
Погасить зашитую команду и внедрить свою:
SELECT * FROM userslist WHERE id_user = -1
UNION
SELECT id_user, name, pass, email, url FROM userslist WHERE id_user = 1
|
Я так понял число -1 и гасит вшитую sql команду, это необязательно -1 это значит можно и 1млн. вписать т.е. что-нить что не существует в поле id-user, это так? | |
|
|
|
|
|
|
|
для: cheops
(21.03.2012 в 17:12)
| | Извините мне пора идти еще раз спасибо! | |
|
|
|
|
|
|
|
для: Dazzl
(21.03.2012 в 17:06)
| | Если не сложно прикрепите дамп таблицы, чтобы можно было воспроизвести ситуацию? | |
|
|
|
|
|
|
|
для: cheops
(21.03.2012 в 17:03)
| | тока
Имя пользователя -
(
>если, вы конечно, тоже не name вбили
я не чего не менял я копировал и вставлял
и пароль у меня w | |
|
|
|
|
|
|
|
для: Dazzl
(21.03.2012 в 17:00)
| | А теперь вместо единицы подставьте -1%20UNION%20SELECT%20id_user,%20pass,%20name,%20email,%20url%20FROM%20userslist%20WHERE%20id_user%20=%201 - должна открыться та же самая страница, но вместо name у вас должен быть пароль (если, вы конечно, тоже не name вбили). | |
|
|
|
|