Как запретить юзать get ?

Сенсей

Новичок
Как запретить юзать get ?

Есть например форма которая передает функции данные через post

Если я изменяю в форме post на get -
то в адресной строке вижу что то типа :

/func?blabla=aaa&bla2=ttt

Так вот как сделать, что бы когда пользователь, который в форме изменяет post на get , или просто с адресной строки пытается подсунунть код - что бы оно не работаело ?

То есть если все нормально - то все работает .. если через адрес строку - то что бы не работало ...


Надеюсь вы мою мысль поняли ? :)
 

Фанат

oncle terrible
Команда форума
А какая тебе разница - каким методом пришли переменные?
И ты не можешьли объясниь - с какой стати юзеру менять в форме метод?!
 

fixxxer

К.О.
Партнер клуба
используй массив $_POST

...и вообще, register_globals on - это зло =)
 

Сенсей

Новичок
Originally posted by Фанат
А какая тебе разница - каким методом пришли переменные?
И ты не можешьли объясниь - с какой стати юзеру менять в форме метод?!
Ну думаю ты знаешь принцип взлома сайтов ... чатов .... вот от этого и хочу защититься ...

используй массив $_POST
Поподробнее немножко можно ? :)
 

Skat

Guest
если очень подробно надо то тут [m]manual[/m]
если покороче, то вот
Код:
<form action="<? print $PHP_SELF; ?>" method="POST">
<input type=text name=bla>
<input type=submit>
</form>
<?php
if ($_SERVER['REQUEST_METHOD']=='POST') {
    print $_POST['bla'];
}
?>
 

Фанат

oncle terrible
Команда форума
По поводу остальных ответов, которые тебе дали.
Не слушай никого.
Здесь думаю головой один я.
Остальные - роботы. Отвечают в лучшем случае, копируя документацию.
А думать надо обязательно

Ну думаю ты знаешь принцип взлома сайтов ... чатов .... вот от этого и хочу защититься ...
запрещением метода пост ты не защитишься никак.
Ты вообще никак не можешь запритеть юзеру посылать тебе что-то.
То, что ты делаешь сейчас - это навешивание амбарного замка на картонную дверь.

для защиты от взлома чатов существует ЕДИНСТВЕННЫЙ метод.
Проверять пришедшие данные на безопасность.

С какой радости ты взял, что тебе гадость не пришлют постом, и с чего ты решил, что это будет офигенная защита - я не знаю, но могу сказать, что ты ошибаешься.
 

Фанат

oncle terrible
Команда форума
странно.
Обычно после этого люди задают вопрос - а как проверить данные на безопасность...

Если коротко, то во-первых - обязательно выключаем register_globals
а во-вторых - надо четко определиться с тем, что может быть передано в форме.
Допустим, человек можджет послать сообщение, ник для привата и смайлик.
ник и смайлик ты передаешь цифрами, которые во-первых, првоеряешь на то, чтобы это была цифра, а во-вторых - по ним вычисляешь ник и смайл.
сообщение проверяешь на наличие недопустимых символов.
обычно достаточно обработать его через htmlspecialchars

и пусть хоть обпосылаются любым методом - ничего дурного тебе на зашлют.

Главный принцип и не только в чатах - ПРОВЕРЯТЬ ТО ЧТО ПРИШЛО.
 

Crazy

Developer
Автор оригинала: Сенсей
Ну думаю ты знаешь принцип взлома сайтов ... чатов .... вот от этого и хочу защититься ...
И от какого же юнокулхацкерского способа взлома сайтов ты хочешь защититься?
 

Сенсей

Новичок
Crazy
Да есть здесь одни ......

Фанат
обычно достаточно обработать его через htmlspecialchars
Этим щас и занимаюсь :)


Но вот про цифры интересно .... как я могу проверить, что это именно цифры а не другие какие то символы ?
 

New Linuxoid

Guest
есть еще вариант :)))

<Limit GET>
order allow, deny
deny from all
</Limit>

точно гетом ничего не получится :))
 

fixxxer

К.О.
Партнер клуба
как я могу проверить, что это именно цифры а не другие какие то символы
Я обычно делаю так:
PHP:
$num = isset($_POST['num'])?intval($_POST['num']):0;
Если нужно, потом проверяешь, попадает ли число в диапазон допустимых значений.
 

young

Новичок
Не слушай никого.
Здесь думаю головой один я.
Остальные - роботы. Отвечают в лучшем случае, копируя документацию.
Категоричное заявление

а способа 2, и оба тут уже описали
1) на уровне Apache <Limit GET>
2) на уровне PHP $_SERVER['REQUEST_METHOD']
 

New Linuxoid

Guest
да, но если юзать <Limit GET> то не запросишь и сам файл :)
так что это вряд ли применительно к этой задаче
 

fixxxer

К.О.
Партнер клуба
Да фишка то не в том, что не ответили, как запретить GET.
Фишка в том, что автор топика не осознает, что это ему не нужно. :)
 

New Linuxoid

Guest
Да фишка то не в том, что не ответили, как запретить GET.
Фишка в том, что автор топика не осознает, что это ему не нужно
ну это ты точно подметил ;)
 

Фанат

oncle terrible
Команда форума
кто-нибудь, объясните этому янгу, что он идиот.
у меня уже сил нету.

Уже автор вопроса сам понял, а этот все по той же колее бежит "чо написано - то и отвечаем! Не холопское дело мозгами шевелить!"

Хочешь оспорить мое категоричное заявление?
Будь добр, опиши, каким образом осуществляется защита "от в злома чатов" путем запрета метода GET. Именно это, как выяснилось, нужно человеку. Ты мог это прочесть, если не все глаза пропил. И если в состоянии прочесть больше двух строчек текста.

Блин, такое ощущение, что я сдеревьями разговариваю.
 
Сверху