クライアントブラウザがセッションをサポートしているかどうかを確認するにはどうすればよいですか?
洪水対策スクリプトに取り組んでいます-スクリプトの操作を各操作で5秒に制限し、クライアントセッションを使用してUNIX時間を保存したいのですが、最初にそれらがチェックされる必要があります'が有効になります。それは可能ですか?
別のアプローチを使用できます。ページを読み込むたびに、新しいCookieを作成します(まだ存在しない場合)。スクリプトを使用しているときは、Cookieが存在するかどうかを確認するだけです。存在し、値に問題がない場合は、すべて問題ありません。それ以外の場合は、スクリプトの実行を無効にします。
クライアントごとに5秒に1回以上スクリプトが実行されないように制限しようとしていると想定しています。
Httpはステートレスプロトコルであり、PHPはCookie値(またはパラメーター値)に依存してサーバー側でセッションを初期化します。これを知っていると、セッションだけを使用するだけでは、ユーザーが5秒に1回以上スクリプトをフラッディングするのを防ぐのに十分ではありません。ユーザークライアントは、リクエストでCookieまたはセッションIDパラメータを送信できないため、新しいセッションのように扱う必要があります。
ユーザーセッションを識別する他の方法を使用する必要があります。要求元のIPアドレスを使用することは良いスタートですが、うまく機能しない場合があります(特に、多くのユーザーが同じ公開IPを持つことができるため)。