![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
ReactOS |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 165 Регистрация: 6.12.2007 Репутация: нет Всего: 33 |
Предположим, что интерфейс пользователя позволяет некий id записи, которую надо удалить из таблицы, соответствующий SQL-запрос будет
Если пользователь в строчу с delete.php
Допишет в delete.php?id=12 OR 1=1 то, такой запрос уже удалит все записи из таблицы. Прочитал, что для защиты от инъекций, надо использовать ф-цию is_int(), и если она возваращает значение true, то id == целое число. Конечно, врял ли какой-нибудь разработчик будет использовать поле для ввода id удаляемой записи. Обычно для удаление используется, соответствующая гиперссылка. Но это нужно для изучения. Помогите с создания простейшей защиты, мне будет полезно для обучения ![]() p.s. Прошу еще рассказать, если возможно, как сделать защиту, когда определенной страницы не сущетсвует, и пользователь начинает вводить id=12313112313 or id=-1'A спасибо! Это сообщение отредактировал(а) Nedriaous - 28.3.2008, 05:21 |
||||
|
|||||
Canarat |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 212 Регистрация: 11.3.2008 Где: Каспий Репутация: 5 Всего: 5 |
Nedriaous,
И будет тебе счастье. аналогично и со вторым вопросом. |
|||
|
||||
Smith |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 17.1.2007 Репутация: 1 Всего: 2 |
Это сообщение отредактировал(а) Smith - 28.3.2008, 07:47 |
||||
|
|||||
Feldmarschall |
|
||||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Nedriaous, поясни пожалуйста, что ты имел в виду во втором вопросе. Какая разница, существует страница, и что такого во вводимой пользователем строке?
а там, где ты это прочитал, не написано, что делать, если передаваемый параметр - не число, а строка? Проверчть is_str()?
А что - написать что-то можно только в поле ввода, а в гиперссылку - нельзя? Это ошибка. Для удаления, и вообще для любых изменений в БД, должна использоваться только форма и только с методом POST! |
||||
|
|||||
ReactOS |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 165 Регистрация: 6.12.2007 Репутация: нет Всего: 33 |
Какая разница, существует страница - разности нет, есть разность в другом. Пользователь ничего смертельного не сделает, скорее это больше для себя, чтобы на id=12313112313 or id=-1'A - а разность, как раз заключается в том, чтобы не выдавилсь ошибки из БД, а выводилось сообщение "Нет такой страницы", ну или если введет пользователь строке не существующий id, то редирект на id=1, вот и все проблема. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |