вашу задачу, по недоступности такого рода манипуляций с базой(не с браузером) можно решить по другому.
к тому же даже без панелей, всегда есть клавиутура.
Как бы я решил вашу задачу.
сделал бы переменную в JS(не в кукисах, а именно обыкновенную переменную), в которой бы хранился временный уникальный идентифиактор.
это будет ID операции.
прив выполнении любой операции, перелельно посылается этот ID, а в ответе возвращается новый ID, помимо остальной инфы
то есть ID может быть получен при загрузке страницы(прямо в коде HTML-а его инициировать), либо, как часть AJAX-ответа.
соответсвенно уже сработавший ID в дальнейшем не использутся, и отрабатывает с ошибкой, не давая сделать операцию записи в базу.
При переходе назад, если выполняется какая-то операция, то она попытается выполнится со старым ID
аналогично при рефреше.
добавляем отслеживание HTTP-Referer, и вуаля: никакие путешествия при помощи стандартной навигации не пошлют лишних действий.
в общем-то это общая схема, поверх которой еще надо пару проверок сделать, и протестировать.
но это достаточно дружелюбный вариант, и самое главное более правильный и защищенный, ИМХО
|