PHP ページの更新を無効にする方法: 最初にプロキシ IP を直接終了し、次に急速な更新を防ぐために更新期間と回数を設定し、次に監視変数を設定して監視結果を処理し、最後に攻撃者のサーバーアドレス 以上です。
PHP ページの更新を無効にする方法:
方法 1:
ページの更新を防ぐための小さなコードはあまり役に立たないかもしれません。これは単なる参考のためのアイデアです。
原則:
ページにアクセスしたときにセッションがあるかどうかを判断します。セッションがない場合は、セッションを直接作成し、現在時刻に設定します。プログラムは通常どおり実行されます。
セッションがある場合は、セッション内の時刻と現在時刻との時間差を求めます。間隔が指定された時間 (この例では 5 分など) 未満の場合、プログラムの実行は中断され、エラーが発生します。メッセージが表示されます;
セッション内の時間が現在時刻より大きい場合は、セッション内の時間を更新すると、ページは正常に実行されます。
コードは次のとおりです:
session_start(); //启动session $timeOutLimit = "300"; //设置时间间断五分钟 if (isset($_SESSION["timeout"])) { //判断是否有session if (time() - $_SESSION["timeout"] < $timeOutLimit) { //如果有session 且session时间间隔小于5分钟 直接die()退出并输出提示信息。 die("请不要多次刷新当前页面"); } else { //如果没有超时,将session时间重置为当前时间。 $_SESSION["timeout"] = time(); } } else { $_SESSION["timeout"] = time(); //如果没有timeout的session,则创建session为当前时间,便于下次访问页面时判断 } //其它页面代码.....
方法 2:
//代理IP直接退出 empty($_SERVER['HTTP_VIA']) or exit('Access Denied'); //防止快速刷新 session_start(); $seconds = '3'; //时间段[秒] $refresh = '5'; //刷新次数 //设置监控变量 $cur_time = time(); if(isset($_SESSION['last_time'])){ $_SESSION['refresh_times'] += 1; }else{ $_SESSION['refresh_times'] = 1; $_SESSION['last_time'] = $cur_time; } //处理监控结果 if($cur_time - $_SESSION['last_time'] < $seconds){ if($_SESSION['refresh_times'] >= $refresh){ //跳转至攻击者服务器地址 header(sprintf('Location:%s', 'http://127.0.0.1')); exit('Access Denied'); } }else{ $_SESSION['refresh_times'] = 0; $_SESSION['last_time'] = $cur_time; }
プログラミングについてさらに詳しく知りたい場合は、注意してください。 phpトレーニングコラムへ!
以上がPHPページの更新を無効にする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。