PHP と Vue.js を使用して検証コード クラッキング攻撃を防御するアプリケーションを開発する方法
ネットワーク テクノロジの継続的な発展に伴い、検証コード クラッキング攻撃はネットワーク セキュリティに対する大きな脅威となっています。ユーザーの情報セキュリティを保護するために、PHP と Vue.js を使用して、検証コード クラッキング攻撃を防御するアプリケーションを開発できます。この記事では、この目標を達成するためにこれら 2 つの手法を使用する方法について説明し、対応するコード例を示します。
まず、PHP を使用して検証コード イメージを生成する必要があります。 PHP には、検証コード画像を簡単に生成できる画像処理関数やライブラリが豊富に用意されています。簡単な例を次に示します。
<?php session_start(); // 生成验证码 $code = generateCode(); // 将验证码保存到session中 $_SESSION['code'] = $code; // 创建一个空白画布 $image = imagecreate(100, 40); // 设置背景色 $bgColor = imagecolorallocate($image, 255, 255, 255); imagefill($image, 0, 0, $bgColor); // 设置字体颜色 $textColor = imagecolorallocate($image, 0, 0, 0); // 在画布上绘制验证码 imagestring($image, 5, 20, 10, $code, $textColor); // 设置Content-Type头信息为image/jpeg header("Content-Type: image/jpeg"); // 输出图像 imagejpeg($image); // 清除画布资源 imagedestroy($image); // 生成四位数字验证码 function generateCode() { $code = rand(1000, 9999); return $code; } ?>
上の例では、imagecreate()
関数を使用して空のキャンバスを作成し、imagecolorallocate()
関数を使用して背景色と文字色を設定します。次に、imagestring()
関数を使用して、キャンバス上に 4 桁の乱数検証コードを描画します。最後に、header()
関数を使用して画像の Content-Type を image/jpeg に設定し、imagejpeg()
関数を使用して画像を出力します。
フロントエンドでは、Vue.js を使用して検証コード検証機能を実装できます。 Vue.js は、ユーザー操作とフォーム検証を簡単に処理できる軽量の JavaScript フレームワークです。以下は、Vue.js を使用して検証コード検証を実装する例です。
<!DOCTYPE html> <html> <head> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> </head> <body> <div id="app"> <input type="text" v-model="inputCode"> <button @click="validateCode">验证</button> <div v-show="isValid">验证码正确</div> <div v-show="!isValid">验证码错误</div> </div> <script> new Vue({ el: '#app', data: { inputCode: '', isValid: false }, methods: { validateCode: function () { // 发送验证码到服务器验证 axios.post('/validate-code.php', { code: this.inputCode }) .then(function (response) { // 验证成功 this.isValid = true; }) .catch(function (error) { // 验证失败 this.isValid = false; }); } } }); </script> </body> </html>
上の例では、Vue.js の v-model
ディレクティブを使用して、次の値を結合します。 Vue を含む入力ボックス インスタンスの inputCode
プロパティは一緒にバインドされ、## の値に基づいて対応するプロンプト情報を表示するために v-show
コマンドが使用されます。 #isValid プロパティ。ユーザーが検証ボタンをクリックすると、
validateCode メソッドが呼び出され、検証のために検証コードがサーバーに送信されます。
<?php session_start(); // 验证用户输入的验证码 function validateCode($inputCode) { if (isset($_SESSION['code']) && $_SESSION['code'] == $inputCode) { return true; } else { return false; } } // 处理用户请求 $inputCode = $_POST['code']; if (validateCode($inputCode)) { // 验证成功 http_response_code(200); echo '验证成功'; } else { // 验证失败 http_response_code(403); echo '验证失败'; } ?>上記の例では、まずユーザーが入力した検証コードを
$_POST 配列から取得します。次に、
validateCode 関数を呼び出して検証します。検証コードが正しければ、HTTP レスポンス コード 200 と「検証成功」の応答内容が返されます。そうでない場合は、HTTP レスポンス コード 403 と「検証成功」の応答内容が返されます。検証に失敗しました」というメッセージが返されます。
以上がPHP と Vue.js を使用して CAPTCHA クラッキング攻撃を防御するアプリケーションを開発する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。