Розглянемо приклад захисту від дублювання надсилання даних за допомогою форми.

Для чого це потрібно?
Виникає ситуація коли користувач заповнює форму і натискає кнопку «Відправити». Ці дані записуються в базу (наприклад). Користувачеві приходить деяка сторінка про успішну відправку даних. Після чого користувач випадково або має намір тисне на кнопку F5 (оновити), попередній запит з вже колись заповненими даними знову відправляється на сервер. Таким чином, заповнені раніше дані у формі відправляється заново, що не дуже добре.
В даному прикладі задача вирішується з використанням cookies і md5 хеш даних.

Отже, код:

Увагу
Варто зауважити, що при роботі з cookies є значимий недолік – вони можуть бути вимкнені у браузері. Після чого, описаний вище код не допоможе вирішити проблему дублювання даних.
Як варіант вирішення проблеми: можна перевіряти включені куки в браузері, або зовсім не використовувати cookies для цих цілей.
Так само, можна виробляти редирект (з допомогою заголовків header()) при першій відправці форми. Безсумнівно, існують і інші методи захисту від дублювання даних, мабуть ми ще повернемося до цієї теми в іншій статті.

Додав: htmaker, 24.02.2013 р.
(Ще не оцінили)

Завантаження…

Діліться з друзями:

См. також:


Пісочниця для PHP
Рубрика: PHP, Інструменти

Конфіг файли
Рубрика: PHP

Установка XCache в Linux CentOS
Рубрика: Linux, PHP

Використання SOAP в PHP
Рубрика: PHP

Встановлення PHP Soap на CentOS
Рубрика: Linux, PHP

Обсяг даних в зручному форматі на PHP
Рубрика: PHP

Транслітерація символів на PHP
Рубрика: PHP

Як перетворити URL-рядок в масив?
Рубрика: PHP

Добірка шаблонів регулярних виразів
Рубрика: PHP