X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Очистка POST данных в браузере
andreykashops
andreykashops
Topic Starter сообщение 2.7.2014, 23:51; Ответить: andreykashops
Сообщение #1


WordPress is my Life..
******

Группа: Active User
Сообщений: 1426
Регистрация: 21.7.2012
Из: Украины
Поблагодарили: 633 раза
Репутация:   139  


День добрый!

Подскажите пожалуйста, как можно удалить POST данные с браузера? Например когда пользователь отправил форму, скрипт сделал свое дело, теперь если он обновит форму - POST данные снова отправятся, как можно этого избежать без
Код
header("Location: /");
?


--------------------
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Rombi
Rombi
сообщение 3.7.2014, 1:33; Ответить: Rombi
Сообщение #2


3TAJIOH
******

Группа: Active User
Сообщений: 1042
Регистрация: 14.6.2010
Из: Самара
Поблагодарили: 244 раза
Репутация:   45  


Можно сделать защиту через токены.
Сначала в сессию записываем токен в виде какого-нить числа, потом в форму добавляем input type="hidden" со значением этого токена.
Потом делаем проверку если isset($_POST["submit"])
Код
if ($_POST["token"] != $_SESSION["token"]) {
$errors[] = "Сработала защита от спама";
}


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Tollun
Tollun
сообщение 3.7.2014, 6:49; Ответить: Tollun
Сообщение #3


Старожил
******

Группа: Active User
Сообщений: 1595
Регистрация: 1.10.2009
Из: Хабаровск
Поблагодарили: 394 раза
Репутация:   66  


а не, потёрто...
лучше и проще редирект

Сообщение отредактировал Tollun - 3.7.2014, 6:51


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
x64
x64
сообщение 3.7.2014, 9:47; Ответить: x64
Сообщение #4


F.A.L.L.O.U.T.
*******

Группа: Super Moderator
Сообщений: 3424
Регистрация: 30.6.2011
Из: Железнодорожный (Балашиха)
Поблагодарили: 2746 раз
Репутация:   289  


да вроде и нет других способов.
редирект — вполне легитимная и повсеместно используемая фича, и ничего страшного, если в ответ на отсыл формы браузер получит редирект и проследует по нему.
ежели стоит вопрос в том, чтобы пользователь не мог насиловать форму посредством бесконечных F5 → Enter, то можно либо капчу использовать, либо нечто подобное, предложенное Rombi.

как вариант — работать без перезагрузки страницы. для простых форм в jQuery есть функция serialize(). соответственно, после отсылки можно форму навернуть и заместо неё написать текст об успешной приёмке данных :D


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
andreykashops
andreykashops
Topic Starter сообщение 3.7.2014, 12:12; Ответить: andreykashops
Сообщение #5


WordPress is my Life..
******

Группа: Active User
Сообщений: 1426
Регистрация: 21.7.2012
Из: Украины
Поблагодарили: 633 раза
Репутация:   139  


Цитата(x64 @ 3.7.2014, 7:47) *
редирект — вполне легитимная и повсеместно используемая фича, и ничего страшного, если в ответ на отсыл формы браузер получит редирект и проследует по нему.

Оно то так, но допустим мне нужно выдать результат обработки формы пользователю, и тогда приходится "выворачиваться".

Согласен, хорошее решение предложил Rombi.


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Sanasol
Sanasol
сообщение 4.7.2014, 14:11; Ответить: Sanasol
Сообщение #6


Участник
***

Группа: User
Сообщений: 111
Регистрация: 9.7.2013
Из: Санкт-Петербург
Поблагодарили: 47 раз
Репутация:   6  


andreykashops,

А в чем проблема-то выдачи по редиректу?


https://gist.github.com/S-anasol/04c934685f9cb125fd3e

как-то так

ну и header("Location: /?deleted или saved или created");
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
serpseeker
serpseeker
сообщение 4.7.2014, 14:35; Ответить: serpseeker
Сообщение #7


Частый гость
**

Группа: User
Сообщений: 78
Регистрация: 3.7.2014
Поблагодарили: 7 раз
Репутация:   0  


Sanasol, тогда уж лучше реализовать систему флеш сообщений по типу Flash::set($category, $message).
При редиректе пишем сообщение в сессию, на следующей странице выводим и сразу удаляем.
Такое универсальное средство для передачи инфы между страницами.
Реализовано во многих популярных framework-ах.

Сообщение отредактировал serpseeker - 4.7.2014, 14:35
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Sanasol
Sanasol
сообщение 4.7.2014, 15:06; Ответить: Sanasol
Сообщение #8


Участник
***

Группа: User
Сообщений: 111
Регистрация: 9.7.2013
Из: Санкт-Петербург
Поблагодарили: 47 раз
Репутация:   6  


serpseeker,

Тоже самое почти, только упрощенный вариант
в том же wordpressе очень хорошо используется, да и вконтакте например :)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
serpseeker
serpseeker
сообщение 4.7.2014, 15:19; Ответить: serpseeker
Сообщение #9


Частый гость
**

Группа: User
Сообщений: 78
Регистрация: 3.7.2014
Поблагодарили: 7 раз
Репутация:   0  


Sanasol, да, но во влешах можно передавать любые типы данных, в вашем варианте только строки и числа.
Один раз накодить и потом всю жизнь радоваться универсальности этого подхода.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
andreykashops
andreykashops
Topic Starter сообщение 4.7.2014, 20:16; Ответить: andreykashops
Сообщение #10


WordPress is my Life..
******

Группа: Active User
Сообщений: 1426
Регистрация: 21.7.2012
Из: Украины
Поблагодарили: 633 раза
Репутация:   139  


Я делал через куки: вначале записывал JSON с данными, обновлял страницу, получал куки и сносил их.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Спам в разметке структурированных данных
если на сайте НЕТУ структурированных данных
12 tok24ua 1067 2.12.2017, 1:19
автор: genjnat
Горячая тема (нет новых ответов) JSEcoin – криптомонета добываемая прямо в браузере
От вебмастеров и для вебмастеров
52 Zritex 7081 17.11.2017, 1:55
автор: esenin
Открытая тема (нет новых ответов) Продам базу данных фан пейджей Фейсбук. Общая аудитория 31 млрд. пользователей.
0 Tutich 772 15.10.2017, 16:25
автор: Tutich
Открытая тема (нет новых ответов) Продам базу данных групп Фейсбук. Более 10 000 наименований.
База данных групп Фейсбука
4 Tutich 1457 15.10.2017, 16:11
автор: Tutich
Открытая тема (нет новых ответов) Что нужно сделать с сайтом, чтобы не получить штрафы от Роскомнадзора из-за закона о персональных данных
4 jack 1580 14.10.2017, 1:52
автор: vikosy


 



RSS Текстовая версия Сейчас: 14.12.2017, 12:49
Дизайн