ホームページ  >  記事  >  バックエンド開発  >  ユーザーが F5 キーを押し続けることを防止する 5 つのメソッドの PHP 実装例の概要

ユーザーが F5 キーを押し続けることを防止する 5 つのメソッドの PHP 実装例の概要

PHPz
PHPzオリジナル
2023-03-31 10:05:59808ブラウズ

最近、私たちは Web アプリケーションを開発しましたが、一部のユーザーが F5 キーを押し続けなかったために、サーバーの CPU とメモリの使用率が高くなりすぎ、最終的にはサーバーがクラッシュすることがわかりました。

この問題を早急に解決する必要があります。いくつかの調査と研究の結果、PHP を使用してユーザーが F5 キーを押し続けるのを防ぐいくつかの方法がわかりました。

これらの方法を以下に紹介します。

  1. AJAX の使用

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>
  1. サーバー側でキャッシュを使用する

ユーザーが 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;
  1. フロントエンド リダイレクトの実装

ユーザーが F5 キーを押すと、ページのヘッダーにリダイレクト リンクを設定することで、新しいページにリダイレクトできます。

以下は、PHP でフロントエンド リダイレクトを使用するためのサンプル コードです:

if (!isset($_SERVER[&#39;HTTP_REFERER&#39;])) {
    header("Refresh: 2;url=index.php");
    echo "You are redirected to main page.";
    exit();
}
  1. 検証コードを有効にする

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">
  1. セッション永続性の使用

セッション永続性は、ユーザーが睡眠中や移動中に接続を維持できるようにする 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。