Розглянемо приклад захисту від дублювання надсилання даних за допомогою форми.
Для чого це потрібно?
Виникає ситуація коли користувач заповнює форму і натискає кнопку «Відправити». Ці дані записуються в базу (наприклад). Користувачеві приходить деяка сторінка про успішну відправку даних. Після чого користувач випадково або має намір тисне на кнопку 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