Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Вёрстка веб-сайтов > уязвимость метода GET


Автор: krinart 12.4.2008, 20:48
всем добрый день...

недавно начал я писать скрипты на php, ну и естественно пришлось пользоваться для передачи данных между страницами методами GET и POST. Где возможно пользуюсь POST, но иногда не обойтись и без GET, когда необходимо установить значение переменной при создании страницы... и вот какой вопрос у меня возник

Неужели каждый раз при приёме данных на странице-обработчике придётся проверять корректность данных, которые я же сам и задал

Например, сделал я такую ссылку

Код

echo "<form action='update.php?var=<?php echo $my_var;?>' method='POST'>";


ведь когданибудь найдётся один умелец, которому станет интересно вручную в адресной строке поменять установленный мною параметр, и неизвестно что произойдёт в моём обработчике.. а если учесть что в обработчике происходит "общение" с БД, то вобще становится страшно, чего туда может записаться

может есть способы обойтись без GET?

Автор: Fin 12.4.2008, 21:15
А ты уверен, что метод ַPost не подвержен атакам? Конечно, на любительском уровне это сложнее сделать. Но также возможно. Святое правило. То что приходит от пользователя, подлежит обязательной проверке на валидность. 

Автор: krinart 12.4.2008, 21:28
так в том то и дело что это не приходит от пользователя, а создаётся мною для моих специальных нужд... и мне хочется быть увереным, что никто не испоганит мне существование ради своего интереса "а что будет если нажать сюда"... 

Приведу пример...
переменная, передаваемая методом GET, является идентификатором записи в одной из таблиц, а принажатии на ссылку запись удаляется... а если пользователь вобще не имеет доступа к этим данным, это не его записи.... этож теперь добавлять огромную кучу проверок придётся... 

может есть смысл создавать форму со скрытыми полями и делать для ссылку событие onClick(), которое будет её заполнять?

Автор: skyboy 13.4.2008, 00:12
krinart, вполне можно изменить значения в скрытых полях. 
вполне возможно отправить post'ом  произвольные данные.
очень даже надо проверять данные, пришедшие от пользователя.
ничего это все не 
Цитата(krinart @  12.4.2008,  19:48 Найти цитируемый пост)
тановится страшно

просто надо немного потрудиться.

Автор: Fortop 13.4.2008, 00:12
Бесполезно создавать формы.
 
Добавляй проверки и авторизацию - так правильно

Автор: skyboy 13.4.2008, 00:12
к "верстке" вопрос - ну никаким боком.

Автор: krinart 13.4.2008, 00:49
да чтож такоето у меня с выбором разделов.. уже второй раз((  smile 
я сначала здесь делал, потом увидел что не там и в новом окне начал делать в разделе php, но потом видимо случайно здесь создал

мдя, я думал всё проще будет... значит придётся контролировать самого себя, чтобы ктонибудь не вписал в моиже переменные чего-нибудь "от себя"

Автор: Deepthroat 13.4.2008, 23:23
Храни в сессии.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)