ホームページ >バックエンド開発 >PHPチュートリアル >ユーザーが F5 キーを押し続けることを防止する 5 つのメソッドの PHP 実装例の概要
最近、私たちは Web アプリケーションを開発しましたが、一部のユーザーが F5 キーを押し続けなかったために、サーバーの CPU とメモリの使用率が高くなりすぎ、最終的にはサーバーがクラッシュすることがわかりました。
この問題を早急に解決する必要があります。いくつかの調査と研究の結果、PHP を使用してユーザーが F5 キーを押し続けるのを防ぐいくつかの方法がわかりました。
これらの方法を以下に紹介します。
AJAX は、非同期送信を実現できるテクノロジです。これにより、ユーザーが F5 キーを押したままページをリロードすることができなくなります。
次のコードをページに追加し、ユーザーが F5 キーを押すと、AJAX 経由で新しいページ データを送信できます。このアプローチにより、ユーザーの不必要なページ更新が防止され、Web アプリケーションの応答性も向上します。
<script type="text/javascript"> document.onkeydown = function (event) { if (event.keyCode == 116) { event.returnValue = false; location.href = 'ajax_refresh_page.php'; } } </script>
ユーザーが F5 キーを押したままサーバーに繰り返しアクセスできないようにしたい場合は、サーバーでキャッシュを使用できます。側。ユーザーが F5 キーを押すと、Web アプリケーションは再計算せずにキャッシュからデータを直接フェッチするため、サーバーの負荷が軽減されます。
これは、PHP でキャッシュを使用するためのサンプル コードです:
$cache_time = 60; // cache time in seconds $cache_file = "cache/file" . md5($_SERVER['REQUEST_URI']) . ".html"; if (file_exists($cache_file) && time() - $cache_time < filemtime($cache_file)) { echo file_get_contents($cache_file); exit(); } ob_start(); echo "Your HTML code here"; $contents = ob_get_contents(); ob_end_flush(); file_put_contents($cache_file, $contents); echo $contents;
ユーザーが F5 キーを押すと、ページのヘッダーにリダイレクト リンクを設定することで、新しいページにリダイレクトできます。
以下は、PHP でフロントエンド リダイレクトを使用するためのサンプル コードです:
if (!isset($_SERVER['HTTP_REFERER'])) { header("Refresh: 2;url=index.php"); echo "You are redirected to main page."; exit(); }
Web アプリケーション コードで検証を有効にするユーザーが F5 キーを押したままフォームを再送信できないようにすることができます。このアプローチにより、人間のみが Web アプリケーションにアクセスできるようになり、サーバーが有効なリクエストを処理できるようになります。
次のコードをフォームに追加して、ユーザーが入力したテキスト入力ボックスの一部として確認コードの画像を表示します。
<label for="captcha" class="required">Enter the code shown:</label> <img src="captcha.php" alt="CAPTCHA code" /> <input type="text" name="captcha" id="captcha" size="6" maxlength="6">
セッション永続性は、ユーザーが睡眠中や移動中に接続を維持できるようにする Web アプリケーション テクノロジです。セッション永続性により、ユーザーが F5 キーを押したままにしても、サーバー コンテキストでの接続が維持されるため、サーバーの負荷が軽減されます。
以下は、PHP でセッション永続性を使用するためのサンプル コードです:
if (isset($_SESSION['LAST_ACTIVITY']) && (time() - $_SESSION['LAST_ACTIVITY'] > 1800)) { session_unset(); session_destroy(); } $_SESSION['LAST_ACTIVITY'] = time();
上記は、ユーザーが F5 キーを押し続けるのを防ぐために PHP でまとめた 5 つの方法です。経験豊富な開発者でも初心者でも、これらの方法はアプリケーションを健全で安定した状態に保つのに役立ちます。
以上がユーザーが F5 キーを押し続けることを防止する 5 つのメソッドの PHP 実装例の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。