@paris
начинающий програмист

Как запретить обновление страницы для скачивания?

Браузер выдает одноразовую ссылку для скачивания, после обновления страницы появляется другая одноразовая ссылка, и т.д.
Джаваскрипты для браузера оказались малоэффективны.
Нужна какая то логика, прописанная в самом PHP скрипте.
Запрет на обновление страницы. Или при обновлении сохранялись старые данные. Или после скачивания все закрывалось. Или после окончания скрипта делался переход на другу страницу.
  • Вопрос задан
  • 161 просмотр
Пригласить эксперта
Ответы на вопрос 2
Stalker_RED
@Stalker_RED
Со стороны браузера действие "обновить страницу" почти ничем не отличается от "закрыть, а потом открыть эту-же страницу" или даже от "открыть этот же адрес в новой вкладке".

Вам надо для начала решить как ваше приложение должно себя вести в таких случаях, и потом уже реализовать это в коде.
  • показывать ту-же ссылку? Запишите ее в сессию, например, и показывайте каждый раз.
  • менять ссылку каждый раз? Генерируйте новую при каждом запросе.
  • менять ссылку только если предыдущая была использована? Пишите проверку была ли использована.

И т.д.

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

"после окончания скрипта делался переход на другу страницу" - можно, но опять-же, это только мелкое неудобство, пользователь может вернуться через историю браузера.
Ответ написан
@psiklop
JS тут самый неработоспособный метод.
Писать в сессию, которая недолговечна.
Поставить пользователю куку и записать в таблицу, пока кука не исчезнет.
Ввести авторизацию пользователей, хоть через плагин.
Альтернативный метод авторизовать их по внешнему номеру/email при возможности туда и высылать ссылку.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы