ホームページ > バックエンド開発 > PHPチュートリアル > 悪意のあるページの更新を防ぐための PHP コード

悪意のあるページの更新を防ぐための PHP コード

WBOY
リリース: 2016-07-25 09:03:37
オリジナル
1054 人が閲覧しました
  1. session_start();
  2. $k=$_GET['k'];
  3. $t=$_GET['t'];
  4. $allowTime = 1800;//アンチリフレッシュ時間
  5. $ip = get_client_ip();
  6. $allowT = md5($ip.$k.$t);
  7. if(!isset($_SESSION[$allowT]))
  8. {
  9. $refresh = true;
  10. $_SESSION[ $allowT] = time();
  11. }elseif(time() - $_SESSION[$allowT]>$allowTime){
  12. $refresh = true;
  13. $_SESSION[$allowT] = time();
  14. }else{
  15. $refresh = false;
  16. }
  17. ?>
コードをコピー

ie6 2回送信するときにも遭遇しました。おおよそ、submitの代わりに画像を使用する場合です。画像は 2 回送信されますが、送信ボタンだけであれば、2 回送信される状況に遭遇したことはありません。

今整理してみましょう: 方法は基本的に以前のものと同じです。 受信したページ 2.php は 2 つの部分に分割され、1 つの部分は送信された変数を処理し、もう 1 つの部分はページを表示します。 変数を処理した後、header( "location: ".$_SERVER[ 'PHP_SELF ']) を使用して自分のページにジャンプします。 この部分は判断する必要があります。ポスト変数がない場合はスキップしてください。もちろん、他のページにジャンプすることもできます。 他のページにジャンプしたり戻ったりするときに問題が発生するため、php ファイルで行うことをお勧めします。 前のページで渡された変数が要件を満たしていない場合は、強制的にリターンすることができます。

  1. <script></li> <li>history.go(-1);</li> <li></script>
コードをコピー

一般的な考え方。 2.phpプロセス

  1. if(isset($_POST))
  2. {変数を受け取る
  3. if(変数が要件を満たしていません)
  4. <script> </script> ;
  5. else
  6. 操作データ
  7. ...
  8. if (操作完了)
  9. header( "location: ".$_SERVER[ 'PHP_SELF ']);
  10. }
コードをコピー

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート