PHP トークンを発行して外部からのアクセスをブロック

スクリプト

アクセス状況を確認出来るトークンキーの発行

ボット対策などウェブアプリへのログイン機能など、外部からのアクセスを防ぎたいことが多くあります。

この際に有効なのがトークンを発行してアクセス元を確認。IP制限などでも対応出来ますが、キーの有無でアクセス元が判断できることも知っておきましょう。

フォームにトークンキーを設置

以下スクリプトは実装例。アクセス毎にランダムな値が与えられます。

<?php
session_start();

function random($length = 32){ return substr(bin2hex(random_bytes($length)), 0, $length); } $_SESSION["token"] = random(); ?> <INPUT type="hidden" name="token" value="<?php echo $_SESSION["token"]; ?>"> 

キーの確認

下記の様に受け取った際、セッションと値が合致していたら、OK。

簡単ですね!

if(isset($_SESSION["token") AND $_SESSION["token"] == $_POST["token"]){

   //実行スクリプト

}
else{

    //不審なアクセス
}

コメント

タイトルとURLをコピーしました