ホームページ >バックエンド開発 >PHPチュートリアル >一部のブラウザでは検証コードがキャッシュされるため、ページを再度開くと検証コードの有効期限が切れていることを示すメッセージが表示されます。

一部のブラウザでは検証コードがキャッシュされるため、ページを再度開くと検証コードの有効期限が切れていることを示すメッセージが表示されます。

WBOY
WBOYオリジナル
2016-06-23 13:54:082548ブラウズ

ブラウザを更新すると正常になります。
解決方法はありますか? 確認コードを強制的にリロードできるコードはありますか?


ディスカッションに返信 (解決策)

生成されたアドレスの後に js ランダム パラメーター url?r=Math.random() を追加します

5ff63d95cf657e45762702af9a40232d
< ;input type="button" onclick="document.getElementById('checkcode').src='code.php?r=' + Math.random() " value="クリックして確認コードを表示します" /> ;

< ;img src="captcha.php?t=31136230bab8657d4d2be6910927cc4f">

この問題は、検証コードにキャッシュ無効ヘッダーを追加することで完全に解決できます。画像生成プログラム

header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");    // Date in the pastheader ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");header ("Cache-Control: no-cache, must-revalidate");  // HTTP/1.1header ("Pragma: no-cache");                          // HTTP/1.0
。使用するたびに URL を変更する必要はありません

Math.random()

すでにありますが、現在のコードは次のとおりです:
b473289fef3741ed4751a0d68ba43ac4

b51462e001ad2e853792f4c309abd465


はすべて追加されましたが、機能しません

この問題は一度解決できますそして、検証コード画像生成プログラムにキャッシュ無効ヘッダーを追加するだけですべて完了です
毎回それを使用する必要がなく、URLを変更する時期が来ました



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