2010-08-13 7 views
1

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

Просто интересно, что я могу делать с сеансами и базой данных, чтобы сделать это возможным. Кроме того, как я могу сбросить счетчики каждые 24 часа?

Примерные коды были бы высоко оценены. Благодарю.

BTW, я использую Kohana 3.

ответ

4

Если вы используете сессии, то есть простой способ для людей, чтобы обойти его - отключить куки.

Вы можете использовать его по IP-адресу, хотя вы должны заметить, что несколько человек могут иногда иметь один и тот же IP-адрес, и один человек может иметь несколько IP-адресов. Таким образом, вам нужно быть консервативным с тем, что вы отвергаете, - вы не хотели бы отклонять один и тот же IP-адрес от доступа всего лишь десять раз в день.

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

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

Вы также можете рассмотреть возможность размещения правила в файле robots.txt, чтобы предотвратить уважаемых поисковых системах и подобных захватах «кэшированных» копий изображения.

+0

Красиво положил! Они также могут просто очистить файлы cookie после достижения предела. Просто добавив, что вы сказали. – Iznogood

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