2014-04-28 2 views
-3

У меня есть сайт конкурса, я хочу, чтобы он не позволял людям ходить по нему, когда они отправили форму на странице. Возможно ли это?Место Cookie для предотвращения повторного посещения сайта

Благодаря

+3

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

+0

Если сайт конкурса требует регистрации, вы можете просто сохранить флаг в БД, когда пользователь отправляет свою запись, а затем предотвращает загрузку страницы в зависимости от наличия этого флага. – Psychemaster

+0

Hi Psychmaster, Как бы сохранить флаг и предотвратить загрузку страницы на основе флага? –

ответ

1

Вы могли бы построить систему, в которой пользователи должны ввести свой адрес электронной почты и введите проверочный код, который направляется к ним. Но они могут только ввести этот код проверки один раз. Таким образом, единственным способом обмана будет использование двух отдельных адресов электронной почты (и они должны иметь доступ к обоим).

Cookies не будут лучшим вариантом для этого, так как каждый может очистить свои файлы cookie.

+0

Привет, Даниэль, как бы я это сделал? –

+2

@ user3582132 - он только что сказал вам – LittleBobbyTables

+0

@ user3582132 Я бы сказал об этом в PHP. Имейте форму электронной почты, проверьте, существует ли почта в базе данных. Если это так, не разрешайте запись. Если это не так, добавьте его в базу данных вместе со случайным сгенерированным номером. ('Rand()'). Затем используйте электронную почту PHP, чтобы отправить электронное письмо по этому адресу вместе с кодом подтверждения. Требовать от пользователя ввода кода и проверить, совпадает ли он с тем, который хранится в базе данных. –

0

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

Предполагая, что у вас уже есть какая-либо регистрация пользователя (и привязывают записи конкурса к тем пользователям с идентификатором), вам нужно всего лишь проверить наличие записи в конкурсе в базе данных, а затем, если он найден, либо принудительно перенаправить (вероятно, в теги <script>), либо заменить рендеринг страницы уведомлением, которое вы не можете повторно отправить.

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