ホームページ >バックエンド開発 >PHPチュートリアル >PHPでのなりすましリクエストを防ぐ方法
この記事では主に、PHP でのシミュレートされたリクエストを防ぐ方法について説明します。お役に立てれば幸いです。
1. 一部の Web サイトでは、この IP アドレスからログインの密度を検出する方法を使用しています。このとき、CURL シミュレーションの送信では、認証コードの画像を分析する必要があります。もちろん、これはログインクラッキングやユーザーデータの漏洩を防ぐためです。
2. もう 1 つの方法は、生成されたランダム コードをセッションに直接保存し、入力の隠しフィールドに置くことです。これは検証コードよりもはるかに悪いです。
3. JavaScript 自体はドメインを越えて送信できないことに注意してください。これはできないからではなく、クリックして Web サイトを開く、iframe を使用して通常の Web ページを開くなど、他人が悪意を持ってユーザー情報を盗むことを防ぐためです。次に、別の iframe スチールでそれを実行します。
Ajax クロスドメイン アクセスを実現するには、
header("Access-Control-Allow-Origin:*"); //跨域权限设置,允许所有
を設定する必要があります。ajax クロスドメイン アクセスを防止するには、
header("Access-Control-Allow-Origin:http://www.test.com"); //只允许test.com跨域提交数据
を設定する必要があります。POST リクエストなどの php シミュレートされたリクエストを防止したい場合は、その後、ajax リクエストを処理できるように設定できます。
//判断是否为ajax请求,防止别人利用curl的post抓取数据 if(isset($_SERVER["HTTP_X_REQUESTED_WITH"])&&strtolower($_SERVER["HTTP_X_REQUESTED_WITH"])=="xmlhttprequest"){ }
完全な解決策:
header("Access-Control-Allow-Origin:http://leshen.applinzi.com/cet"); //只允许本站提交数据,前端防ajax跨域,其实js本来就不能跨域 //判断是否为ajax请求,后端防止别人利用curl的post抓取数据 if(isset($_SERVER["HTTP_X_REQUESTED_WITH"])&&strtolower($_SERVER["HTTP_X_REQUESTED_WITH"])=="xmlhttprequest"){ //处理业务逻辑 }else{ echo "we caught you! you have no access!"; };
以上がPHPでのなりすましリクエストを防ぐ方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。