PHP を使用してヒューマンマシン認証を実装し、悪意のある動作を防ぐ方法
PHP を使用して人間とコンピュータの検証を実現し、悪意のある動作を防止する方法
インターネットの急速な発展に伴い、ネットワーク セキュリティの問題がますます顕著になってきています。悪意のある行為が増加しているため、当社の Web サイトとユーザーのセキュリティを保護するための措置を講じる必要があります。一般的な方法は、人間とボットの検証技術を使用して、実際のユーザーとボットを区別することです。この記事では、PHP を使用してヒューマン マシン認証を実装し、悪意のある動作を防止する方法について説明し、対応するコード例を示します。
- 検証コードを使用する
検証コードは、フォームを送信するとき、または特定の操作を実行するときにユーザーが検証コードを入力することを証明するための基本的なヒューマンマシン検証テクノロジです。ボットではなく実際のユーザーです。以下は、PHP を使用して単純な検証コードを実装するサンプル コードです。
<?php session_start(); // 生成随机验证码字符串 $length = 6; // 验证码长度 $chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; $randStr = ''; for($i = 0; $i < $length; $i++) { $randStr .= $chars[rand(0, strlen($chars) - 1)]; } // 将验证码字符串保存到 session 中 $_SESSION['captcha'] = $randStr; // 绘制验证码图片 $image = imagecreatetruecolor(100, 30); $bgColor = imagecolorallocate($image, 255, 255, 255); // 背景颜色 $fontColor = imagecolorallocate($image, 0, 0, 0); // 文字颜色 imagefill($image, 0, 0, $bgColor); imagestring($image, 5, 25, 5, $randStr, $fontColor); // 输出验证码图片 header('Content-Type: image/png'); imagepng($image); imagedestroy($image); ?>
上記のコードは、長さ 6 の検証コード文字列を生成し、セッションに保存します。検証コードの生成中に、検証コードをユーザーに表示するための検証コード画像も描画されます。
- ユーザー入力の確認
ユーザーがフォームを送信するとき、ユーザーが入力した確認コードが正しいかどうかを確認する必要があります。以下は、PHP を使用してユーザーが入力した検証コードを検証するサンプル コードです。
<?php session_start(); // 获取用户提交的验证码 $captcha = $_POST['captcha']; // 获取保存在 session 中的验证码 $correctCaptcha = $_SESSION['captcha']; // 验证用户输入的验证码是否正确 if($captcha === $correctCaptcha) { // 验证码正确,执行后续操作 } else { // 验证码错误,给出相应提示 } ?>
上記のコードは、ユーザーが送信した検証コードを取得し、セッションから正しい検証コードを取得します。次に、2 つを比較します。値が等しい場合は、検証コードが正しく入力され、その後の操作を実行できることを意味します。値が等しくない場合は、検証コードが間違って入力されたことを意味し、対応するプロンプトを表示する必要があります。
- IP アドレス制限
確認コードの使用に加えて、ユーザーの IP アドレスに基づいてアクセスを制限することもできます。悪意のある動作の場合、ボットが攻撃に使用されることが多く、ボットのリクエストには同様の IP アドレスが含まれることがよくあります。そのため、ユーザーのIPアドレスに基づいて制限を行うことができますが、同じIPアドレスが短期間に頻繁にWebサイトにアクセスする場合は、悪意のある行為である可能性があります。
以下は、PHP を使用して IP アドレスに基づいてアクセスを制限するサンプル コードです。
<?php $allow = true; // 是否允许访问 // 获取用户的 IP 地址 $clientIP = $_SERVER['REMOTE_ADDR']; // 获取用户访问的时间戳 $accessTime = time(); // 获取保存在 session 中的 IP 地址和访问时间 $sessionIP = $_SESSION['ip']; $sessionTime = $_SESSION['time']; // 判断用户与上一次访问的时间差 $timeDiff = $accessTime - $sessionTime; if($timeDiff < 10 && $clientIP === $sessionIP) { $allow = false; // 访问间隔过短,可能是恶意行为 } // 更新 session 中的 IP 地址和访问时间 $_SESSION['ip'] = $clientIP; $_SESSION['time'] = $accessTime; // 输出结果 if($allow) { // 允许访问,继续执行后续操作 } else { // 不允许访问,给出相应提示 } ?>
上記のコードは、現在アクセスされている IP アドレスと最後にアクセスされた IP アドレスを比較することによって判断されます。時間間隔、アクセスが許可されるかどうか。短期間に同じIPアドレスに複数回アクセスがあった場合は、悪意のある動作である可能性があります。
概要
この記事では、PHP を使用して人間とコンピューターの検証を実現する方法と、IP アドレスに基づく検証と制限に検証コードを使用するなど、悪意のある動作を防ぐための基本的な方法を紹介します。これらの方法は、Web サイトとユーザーのセキュリティを効果的に保護できます。もちろん、他にも高度で複雑な手法を使用できますが、上記の方法はすでに比較的一般的で簡単です。読者の皆様にはこの点をご理解いただき、実際のプロジェクトに応用していただければ幸いです。自身のネットワーク セキュリティ意識を継続的に学習し、向上させることは、Web サイトとユーザーのセキュリティを保護するために重要です。
以上がPHP を使用してヒューマンマシン認証を実装し、悪意のある動作を防ぐ方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











正規表現を使用して、最新のコード仕様を満たすように PHP コードをバッチ変更するにはどうすればよいですか?はじめに: 時間が経ち、テクノロジーが発展するにつれて、コード仕様は常に更新され、改善されます。開発プロセスでは、最新のコード仕様に準拠するために古いコードを変更する必要が生じることがよくあります。ただし、手動での変更は面倒で時間のかかる作業になる可能性があります。この場合、正規表現は強力なツールとなる可能性があります。正規表現を使用すると、コードをバッチで変更し、自動的に最新のコード仕様を満たすことができます。 1. 準備:使用する前に

PHP コードのテスト機能を使用してコードの保守性を向上させる方法 ソフトウェア開発プロセスにおいて、コードの保守性は非常に重要な要素です。保守可能なコードとは、理解しやすく、変更しやすく、保守しやすいことを意味します。テストはコードの保守性を向上させる非常に効果的な手段です。この記事では、この目的を達成するために PHP コード テスト機能を使用する方法を紹介し、関連するコード例を示します。単体テスト 単体テストは、コード内のテスト可能な最小単位を検証するためにソフトウェア開発で一般的に使用されるテスト方法です。 Pで

PHP コードは、開発者が呼び出すことができるインターフェースの 1 つである、Baidu Wenxin Yiyan API インターフェースのリクエストパラメータの暗号化と復号化処理を実装したものです。データのセキュリティを確保するために、リクエスト パラメータを暗号化し、レスポンスを受信した後にレスポンスを復号化することができます。以下は、Baidu Wenxinyiyan API インターフェイスのリクエスト パラメータの暗号化および復号化処理を実装する PHP コードの例です。

Steam でカスタマー サービスに連絡するプレイヤーは人間とマシンの検証が必要ですが、どのようにして人間とマシンの検証に合格するのでしょうか?プレイヤーは、人間とマシンの認証中に選択される画像を選択してパスする必要があります。この Steam デバイスの認証解除方法の紹介では、具体的な方法を説明します。以下は詳細な紹介です。急いで見てください。 「Steam 使い方チュートリアル」 Steam の人間とマシンの検証に合格する方法 答え: 正しい画像を選択してください 具体的な方法: 1. まず、steam 上のカスタマーサービスをクリックしてカスタマーサービスに連絡します。 2. 以下をクリックして、人間とマシンの検証用のフォームに記入します。 3. この後、たくさんの写真が表示されるので、正しい写真を選択し、「確認」をクリックします。人間とマシンの検証がない場合の対処方法: 1. いくつかのツールを使用して、適切なノードを選択できます。 2. システムは調整可能です

ブラウザで PHP コードを記述し、コードが実行されないようにするにはどうすればよいでしょうか?インターネットの普及に伴い、Web開発に触れる人が増え、PHPの学習にも注目が集まっています。 PHP はサーバー側で実行されるスクリプト言語であり、動的な Web ページを作成するためによく使用されます。ただし、演習フェーズでは、ブラウザーで PHP コードを作成して結果を確認できるようにしたいと考えていますが、コードが実行されることは望ましくありません。では、ブラウザで PHP コードを記述し、それが実行されないようにするにはどうすればよいでしょうか?以下、詳細に説明する。初め、

ツールを使用して、PHP コードが最新のコーディング標準に準拠しているかどうかを自動的にチェックするにはどうすればよいですか?はじめに: ソフトウェア開発プロセスでは、コードの読みやすさ、保守性、拡張性を確保するために、特定のコード仕様に従う必要があることがよくあります。ただし、コード仕様を手動で確認するのは面倒でエラーが発生しやすい作業です。効率を向上させ、エラーを減らすために、いくつかのツールを使用してコード仕様を自動的にチェックできます。この記事では、いくつかの人気ツールを使用して、PHP コードが最新のコーディング標準に準拠しているかどうかを自動的にチェックする方法を紹介します。 1.PH

タイトル: PHP コードのデバッグ: 解析エラーと予期せぬ動作 はじめに: デバッグは、PHP アプリケーションを開発する際の重要なスキルです。コードがエラーや予期しない動作を報告した場合、問題を迅速に特定して修正する必要があります。この記事では、いくつかの一般的な PHP エラーと予期しない動作を調査し、対応するコード例とデバッグ方法を示します。 1. 文法上の誤り 文法上の誤りは、最も一般的な誤りの 1 つです。 PHP では、構文エラーによりスクリプト全体が正しく実行されなくなる可能性があります。サンプルコードは次のとおりです: <?php

PHP コードの静的分析と脆弱性検出テクノロジの紹介: インターネットの発展に伴い、PHP は非常に人気のあるサーバーサイド スクリプト言語として、Web サイトの開発や動的 Web ページの生成に広く使用されています。ただし、PHP 構文は柔軟で標準化されていないため、開発プロセス中にセキュリティの脆弱性が簡単に導入されます。この問題を解決するために、PHPコードの静的解析と脆弱性検出技術が登場しました。 1. 静的分析テクノロジー 静的分析テクノロジーとは、ソース コードを分析し、静的ルールを使用して、コードが実行される前に潜在的なセキュリティ問題を特定することを指します。
