2014-12-09 2 views
0

У меня есть текстовая игра, это первый веб-сайт, который я создал с нуля с помощью php/html. Недавно мои игроки обнаружили, что они могут просто оставить автообновление на определенных страницах и просто продолжать увеличивать статистику. Я понял, что есть несколько страниц, на которых они могут оставить автообновление и просто стать невероятно сильным, обманывая.Предотвращать автоматическое обновление с помощью php?

Я хочу знать, есть ли способы предотвратить автоматическое обновление, не влияя на игровой процесс. Могут использоваться коды Captcha, но они серьезно сделают игру неиграбельной, поскольку они будут на почти каждой странице.

Лучшая вещь, которую я могу придумать, - это просто предотвратить обновление, поэтому единственный способ, которым пользователь может получить вознаграждение, - это нажать кнопку.

В настоящее время я использую POST, можно ли предотвратить работу POST, если это просто обновление?

+0

Предотвратить повторную отправку формы: http://stackoverflow.com/questions/6320113/how-to-prevent-form-resubmission-when-page-is -refreshed-via-php – Daan

+0

Вы можете добавить переменную hiddden в свои формы с использованием значения datetime или уникальной строки. Если вы перерабатываете форму с той же скрытой переменной, вы можете просто игнорировать ее. – Serpes

+0

@Serpes. Звучит идеально. Я сделаю это! EDIT Как добавить скрытую переменную? Ben

ответ

0

Используйте пост/Перенаправление/получить шаблон:

if ($_POST) { 
    // Execute code (such as database updates) here. 

    // Redirect to this page. 
    header("Location: " . $_SERVER['REQUEST_URI']); 
    exit(); 
} 
+0

Это решение в сочетании с @Serpe - лучший путь. –

Смежные вопросы