8

私はすべてのユーザーに機能を許可するWebサイトを持っていますが、各ユーザーはそれを一定の回数しか使用できません。

もう少し詳しく説明します。「匿名/ゲスト」ユーザーは、データベースで24時間に3回だけエントリを検索できます。IPを使用して、これに対するユーザーの試行を追跡し、3回の試行後にユーザーを制限し、24時間後に期限切れにする方法はありますか?

ウェブサイトはPHPで構築されていますが、この機能を提供する言語が何であれ、私はそれを受け入れています。

編集:

このアイデアはクライアントからのものであり、彼らは製品を在庫している「ストッカー」のリストを持っており、この情報をWebサイトのユーザーが利用できるようにしたいと考えています。しかし、彼は、競合他社が彼のシステムを利用して、彼のストッカーを「アンダーカット」することを望んでいません。したがって、制限。あなたが同じことを達成するためのより良い方法を提案することができれば、それは素晴らしいでしょう

乾杯、ダン

4

1 に答える 1

10

次のように、$_SERVERグローバル変数を使用する必要があります。

if ($_SERVER['REMOTE_ADDR'] == '127.0.0.1') {
  // restrict
}

ただし、小次郎の注意を考慮する必要があります。IPアドレスで制限することはお勧めできません。

編集:建設的であること。

低レベルでそれを行いたい場合は、Cookieを使用できます。ユーザーのブラウザに保存されているこれらの変数は、ユーザーがローカルでCookieをクリアした場合、ユーザーは制限を上書きできます。
http://www.php.net/manual/en/function.setcookie.php

より良い解決策は、このフィルターにセッションを使用することです:http:
//php.net/manual/en/session.examples.basic.php

于 2011-02-28T11:05:37.050 に答える