Контроль данных из формы

Статус
В этой теме нельзя размещать новые ответы.

SiMM

Новичок
ForJest, примите мою благодарность за урок и полученное удовольствие, однако это скорее дырка браузеров (кстати, без куков работать в принципе не можущая ;) ) и всё же к вопросу контроля данных из формы если и имеет отношение, то только косвенное и опосредованное как довесок (действительно, на клиенте рефера не подделаешь - с этим нельзя не согласится - просто намёками не все сходу понимают ;) ) - я почему-то рассматривал эту задачу с другой точки зрения - однако, о том, что нужно автору - знает только сам автор топика.
PS: респект ;)
 

ForJest

- свежая кровь
SiMM
Да, с автором как-то нехорошо получилось :)
P.S. cпасибо ;)
 

Фанат

oncle terrible
Команда форума
SiMM
я тебя гарантированно могу заверить, что автор топика абсолютно ничего не знает , в том числе и то, что ему надо, а так же ни бельмеса не поймет из того, что здесь написано
 

SiMM

Новичок
Фанат, подними правую руку. Да выше, выше... а теперь взмахни и произнеси вслух "ну и х... с ним" ;) По крайней мере преподнесённый урок для меня стоил больше того, что могли ответить на его вопрос ;)
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
(только добрался до компа)

ForJest, спасибо за наглядную демонстрацию. :)

Хотя, как верно отметил выше Фанат, железным решением будет специальное поле в форме со значением, хранящимся также в сессии.
 

.des.

Поставил пиво кому надо ;-)
:)

Автор оригинала: Sad Spirit
(только добрался до компа)

ForJest, спасибо за наглядную демонстрацию. :)

Хотя, как верно отметил выше Фанат, железным решением будет специальное поле в форме со значением, хранящимся также в сессии.
Ситуация:
Пользователь по ссылке открыл два окна с формой (через open in new window или просто shift click). Обе формы заполнил и отправил. Его ждет сюрприз?
 

McLay

PHP5 BetaTeam
.des.
Не обязательно каждый раз заново генерировать это число.
 

.des.

Поставил пиво кому надо ;-)
McLay это понятно.. но будет ли это столь простым решением, как банальная проверка реферера?
 

KR

alive in new life
.des.
будет.
этим случайным числом может быть например microtime(); в сессию при логине пользователя на сайте.
 

Фанат

oncle terrible
Команда форума
.des.
при сабмите второй формы пользователю будет вежливо предупреждено, что на сайте стоит защита от флуда, и чтобы заполнить форму, надо сначала ее получить. после отправки - получить заново.

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

ZaZa

Guest
Долго читал я вашу треаду и решил поделиться нажитым опытом:

Была у меня на формах проверка реффереров... Вначале некоторые клиенты звонили... Объяснять то им бесполезно... Потом пришёл шеф и надавал по москам/рукам: Что за х..? Почему я из Сафари (MAC OS X) немогу данные послать? Это что за Неправильная передача данных.
Оказывается Сафари реферрера не передаёт или не всегда передаёт. А там было - если реферрера нет или не с того домена - значит пшёл нах... Так что, как бы формы тут не писали Васи - не панацея это, а для некоторой специфической публики даже и вред... Представь если 50% узеров сайта отсыпяться изза того что их провайдер с proxy или чем ещё херит эти реффереры? Так что как тут сказали - надо hiddenы делать каким либо образом + проверка идла... Да и потом - если Вася такой линк на сайт вставит (гостевухи и форумы не вщёт) - значит хана вашему сайту...
 

MeLLowD

Guest
Я верю, что нужно проверять HTTP_REFERER и ставить себе Kerio Firewall, чтобы не подстрять на тех серверах, где этого не делают!
 

ZaR

Новичок
Я верю, что нужно проверять HTTP_REFERER и ставить себе Kerio Firewall, чтобы не подстрять на тех серверах, где этого не делают!
 

Poster

Новичок
Я верю, что нужно проверять HTTP_REFERER и ставить себе Kerio Firewall, чтобы не подстрять на тех серверах, где этого не делают! ForJest - я с тобой, да! Пусть разум будет посрамлён,.. ДИСКОТЕКА! :););D
 

Red2

Новичок
Я верю, что нужно проверять HTTP_REFERER и ставить себе Kerio Firewall, чтобы не подстрять на тех серверах, где этого не делают!
 

ONK

Пассивист PHPСluba
ForJest, проверка HTTP_REFERER это вредная привычка ленивых программистов. Нельзя пологать на то, что якобы должен сделать браузер, если ему (браузеру) напрямую не указано сделать это.

Я предпочитаю генерить одноразовае идентификаторы для каждой формы, связывать их с сессиями пользователей, и хранить их установленный промежуток времени на сервере.
Для чего у меня создано соответствующее АПИ через которое генерятся все формы.
 

Фанат

oncle terrible
Команда форума
грамотно.
а действительно - в общем, ведь и проблемы-то никакой нет.
держать в сессии не скаляр с хешем, а массив оных.
сколько хошь форм заполняй
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху