0

私は今日ここに来て、時間指定された時間指定アクセスとクライアントを使用して、Cookie Expire 時間を使用する決定をいつ/どのように行うかを専門家に尋ねます$_SESSION['REMOTE_ADDR'];

次のことについてphpマニュアルからチャンクを取得するだけsetcookie();です:

setcookie("TestCookie", $value, time()+3600);  /* expire in 1 hour */

マニュアルによると、この Cookie は 1 時間で期限切れになります.. しかし、私たちが知っているように、Cookie はクライアントがさまざまなツールを使用して変更できるため、クライアント (悪意のある人) が Cookie が期限切れになるように設定されていることに気付いた場合、何かへのアクセスを許可するか、別のイベントがトリガーされるまで何かへのアクセスを拒否しますか?

一方、さらに何かを使用することです time(); MySQL 内で関数を作成し、クライアントのパブリック IP アドレスを識別子としてスキーマ テーブルに Timed 行を作成します。

ただし、クライアントは、別の IP アドレスを持つプロキシ ブラウザ/モバイル デバイスを使用して Web サイトを参照できます。

どちらも、間隔が経過した後にアクセスを許可/拒否するという同じ概念を使用しますが、クライアントが自分のものを知っている場合は両方ともバイパスできます。

それで、全体的な質問に戻ります.Cookieまたはデータベースによって設定された時間間隔をいつ使用できるかをいつ/どのように判断できますか?

4

1 に答える 1

0

両方を組み合わせて使用​​する必要があると思います-データベースを使用してデータを保存し、クライアントのCookieを使用してデータベーステーブルの行を識別します。

識別に IP アドレスを使用することは、次の理由からあまり信頼できません。

  • より多くのクライアントが同じ IP を持つ可能性があります
  • クライアントの IP アドレスがランダムに変更される場合があります (つまり、スマートフォンの wifi / gsm 接​​続)。

ユーザーの情報を保存するためのおそらくより高速で簡単な方法であるセッションを使用することもできます。自分で Cookie を管理したくない場合は、それが適しています。

于 2013-07-24T21:14:01.057 に答える