Обработка формы - использовать сессии, или нет?

Фанат

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

в общем, конкретную реализацию надо все равно еще писать и отлаживать...
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Автор оригинала: _RVK_
хотя и можно иногда обойтись без редиректа, но лучше все таки избежать сообщений "ваша страница устарела"?
Или есть ситуации когда этого сделать невозможно, следовательно и редирект ненужен?
Я согласен.
У меня раньше не было систематизированного подхода к решению такого базового вопроса, как "что делать после POST-a". Топик заставил задуматься и осознать, что я часто делал неправильно.
Принцип "всегда редирект" у меня вызвал сомнение, иногда он просто невозможен.
А вообще, спасибо всем за тему. Можно даже статью писать.

Фанат, я на самом деле хотел спросить, как технически люди предпочитают автоматизировать редирект - Javascript с задержкой, meta, или просто ссылка.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Gas,
ты имеешь ввиду, что ты используешь хедер location?

Я стал применять редиректы повсеместно после прочтения требования п. 9.5 о том, что в ответ на POST-запрос сервер не должен создавать ресурс, который может быть идентифицирован по URI.
Фактически, я это понимаю как требование для ресурсов, которые должны/могут быть доступны по GET/HEAD, не выдавать их сразу после POST-a, а только через редирект со временной страницы типа "операция успешна".
 

Фанат

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

_RVK_

Новичок
grigori
На самом деле! Редирект не должен быть заметен пользователю. Зачем заставлять его ждать когда загрузится страница, а после этого грузить ему новую? А то о чем говоришь ты предназначено для совсем других целей, и с обсуждаемым вопросом не имеет никакой связи.
 

Huckster

Guest
<offtop>
Фанат
Недавно на этом форуме я, но уже успел заметить жесткость Ваших высказываний :)

P.S. Но, признаться, ни разу еще не видел, чтобы Вы были неправы :)
</offtop>

-~{}~ 23.02.05 00:28:

grigori

Такое ощущение, что вы пытаетесь что-то сделать с отправкой данных из формы в первый раз. Вам прямая дорога в ФАК этого сайта и в RFC. В ФАКе, кстати, про отправку данных методом POST, изложена весьма неплохая первичная идея, из которой можно почерпнуть корни для своего собственного решения.
 

Фанат

oncle terrible
Команда форума
Huckster
Но, признаться, ни разу еще не видел, чтобы Вы были неправы
Ну, за этим не заржавеет :)
Зато, поверь, когда такое случается, падать очень больно. Особенно, если учесть то, что я, как бы, тоже привыкаю к тому, что не бываю неправ :)
Причем самое смешное бывает, когда прикладывают в теме, которая, казалось бы, обсосана вдоль и поперек.

По поводу высказывания - ну убейте меня - не виду я в этом высказывании ничего жёсткого. Я сам именно так и высказываюсь. В смысле "подскажите дураку". Т.е. это же ведь совершенно нормальное поведение человека.
Я не хочу никого унизить. Мало знать - НЕ ПОЗОРНО! позорно как раз, при малых знаниях высказываться в таком вот безапелляционном тоне - "невозможен". Разве я неправ?
 

Huckster

Guest
Фанат
Как ни крути, опять я согласен :)

вместо "невозможен", в этом случае нужно сказать "не знаю, как реализовать". И все будут довольны и возможно, подскажут, HOW.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Huckster,
"Трусливые остались дома, слабые погибли в пути, дошли победители" - не помню, чья фраза, но очень по делу.
Я ни в коем случае не против того, чтобы меня обломали. Это же способ ощутить, что надо меняться - бизнесу будет лучше.

_RVK_ - понял

Фанат,
у меня ситуация на browser.grik.net (сервис a-la anonymizer.com), в которой не получается сделать редирект после POST-a.
Например, логин на yahoo mail:
http://browser.grik.net/http://mail.yahoo.com/?.intl=us
Сервер принимает POST-запрос, передает его серверу yahoo по указанному клиентом адресу и выдает в браузер ответ, который получен от сервера.
Поясните дураку - что я не понимаю, и как переделать, чтобы редирект сработал?
 

SelenIT

IT-лунатик :)
grigori

Может, так - сервер принимает POST-запрос, заносит данные во временное хранилище, а затем делает редирект на другой скрипт, который в свою очередь (после успешной проверки) формирует новый POST-запрос из этих данных и передает его серверу yahoo по указанному... (далее по тексту)?

По большому счету, чем так уж отличается посылка запроса к внешнему серверу от привычной посылки запроса к базе данных? Или я что-то важное упустил?
 

Gas

может по одной?
grigori
Eсли это у тебя какой-то сервис, к которому обращение идёт не из броузера, то имхо редирект да, не обязателен.
Если же данные идут из броузера, то c помощью сессий это решается.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Два "но":

1. Запрос может быть объемным. Писать весь POST в сессию - нагрузка и потенциальная дырка (см. выше).
Сейчас все данные идут транзитом.

2. Если сервер, который предоставляет контент, выставляет редирект после POST-a, получится,
что у браузера будет два редиректа вместо одного.
Если автор контента выдает после POST-a заголовки запрета кеширования и умышленно хочет ограничить
возврат на страницу, вставлять редирект будет неправильно.
Плохого, на первый взгляд, ничего, но это так же неправильно, на мой взгляд, как не выставлять редирект после POST.
 

Фанат

oncle terrible
Команда форума
поясните дураку проблему анонимайзера подробнее.
почему надо делать редирект ДО того, как придет ответ с хоста?
какая проблема сделать редирект по адресу, который пришел 302 заголовокм в ответе хоста?
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
я и говорю - не надо, если редирект сервером предусмотрен - он будет,
но если 302го ответа и заголовка location не было - то редиректа нет и у анонимайзера
в данном случае мой сервер редирект после POST-a не делает, только дублирует редирект того сервера, с которым идет связь (или не делает)
 

Фанат

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