この記事では主にphpを使ってWebサイト認証コード機能を実装する方法を紹介します。非常に優れた参考値となっていますので、以下のエディターで見てみましょう
認証コードはWebサイトでよく使われるセキュリティ対策ですが、新人Webマスターにとっては習得が難しいスキルでもあります。シンプルで効果的な検証コードの実装方法を紹介します。
始める前に
正式に始める前に、php の gd2 グラフィックス ライブラリのサポートをオンにする必要があります (php.ini で「php_gd2.dll」を検索し、「;extension=php_gd2.dll」を見つけてポイントを削除します)文の先頭に数字) を付けます。
こちらを参照してください: php
の gd2 ライブラリを開く方法
コア: img.php
このページは検証コードを生成し、正しい値をセッションに書き込みます
ランダムな 4 桁の検証code$check=rand(1000,9999);
将生成的验证码写入session
Session_start(); $_SESSION["check"] = $check;
创建一张图片
$im = imagecreate(80,30);
由于这种图片的背景默认是黑色的所以我们要用白色填充。
imagefill($im,0,0,ImageColorAllocate($im, 255,255,255));
$check=rand(1000,9999);
生成された確認コードをセッションに書き込みます
$im = imagecreate(80,30);
imagefill($im,0,0,ImageColorAllocate($im, 255,255,255));
imageline を使用してランダムに 2 本の実線を描画します
$y1=rand(0,30); $y2=rand(0,30); $y3=rand(0,30); $y4=rand(0,30); imageline($im,0,$y1,70, $y3,000); imageline($im,0,$y2,70, $y4,000);ランダムな位置にテキストを描画します
$strx=rand(3,15); $stry=rand(2,15); imagestring($img,5,$strx,$stry,substr($check,0,1),ImageColorAllocate($img,34,87,100)); $strx+=rand(15,20); $stry=rand(2,15); imagestring($img,5,$strx,$stry,substr($check,1,1),ImageColorAllocate($img,781,117,78)); $strx+=rand(15,20); $stry=rand(2,15); imagestring($img,5,$strx,$stry,substr($check,2,1),ImageColorAllocate($img,160,40,40)); $strx+=rand(15,20); $stry=rand(2,15); imagestring($img,5,$strx,$stry,substr($check,3,1),ImageColorAllocate($img,25,55,10));出力画像
Header("Content-type: image/PNG"); ImagePNG($img);
最後に、完全なコードを示します
ユーザーインターフェース:index.php
やり方は皆さんご存知かと思いますのでコードを直接記載します
<!DOCTYPE html> <html> <body> <form action="action.php" method="post"> <input type="text" name="cikle" placeholder="验证码"> <br> <img src="/static/imghwm/default1.png" data-src="img.php" class="lazy" id="cikle" style="max-width:90%" alt="PHPを使ったWebサイト認証コードのファンクションコードを詳しく解説" ><input type="submit" value="Submit"> </form> </body> </html>Check: action.php🎜🎜 🎜このステップ ユーザー入力値とセッション内の値を比較する 🎜🎜が等しい、出力は「正しい」 🎜🎜が等しくない、出力は「正しくない」 🎜
上記のコードはユーザーが入力した値を「action.php」に転送します<?php Session_start(); if ($_SERVER["REQUEST_METHOD"] == "POST") { if($_SESSION["check"]!=intval($_POST["cikle"])){ echo "不正确"; }else{ echo "正确"; } }🎜🎜🎜🎜 上記は詳細な説明ですPHP を使用した Web サイト検証コード関数コードの詳細については、PHP 中国語 Web サイト (www.php.cn) に注目してください。 🎜🎜🎜🎜🎜🎜🎜

セッション関連のXSS攻撃からアプリケーションを保護するには、次の測定が必要です。1。セッションCookieを保護するためにHTTPonlyとセキュアフラグを設定します。 2。すべてのユーザー入力のエクスポートコード。 3.コンテンツセキュリティポリシー(CSP)を実装して、スクリプトソースを制限します。これらのポリシーを通じて、セッション関連のXSS攻撃を効果的に保護し、ユーザーデータを確保できます。

PHPセッションのパフォーマンスを最適化する方法は次のとおりです。1。遅延セッション開始、2。データベースを使用してセッションを保存します。これらの戦略は、高い並行性環境でのアプリケーションの効率を大幅に改善できます。

thesession.gc_maxlifettinginttinginphpdethinesthelifsessessiondata、setinseconds.1)it'sconfiguredinphp.iniorviaini_set()。 2)AbalanceSneededToAvoidPerformanceIssues andunexpectedLogouts.3)php'sgarbagecollectionisisprobabilistic、影響を受けたBygc_probabi

PHPでは、session_name()関数を使用してセッション名を構成できます。特定の手順は次のとおりです。1。session_name()関数を使用して、session_name( "my_session")などのセッション名を設定します。 2。セッション名を設定した後、session_start()を呼び出してセッションを開始します。セッション名の構成は、複数のアプリケーション間のセッションデータの競合を回避し、セキュリティを強化することができますが、セッション名の一意性、セキュリティ、長さ、設定タイミングに注意してください。

セッションIDは、機密操作の前、30分ごとにログイン時に定期的に再生する必要があります。 1.セッション固定攻撃を防ぐためにログインするときにセッションIDを再生します。 2。安全性を向上させるために、敏感な操作の前に再生します。 3.定期的な再生は長期的な利用リスクを減らしますが、ユーザーエクスペリエンスの重量を量る必要があります。

PHPのセッションCookieパラメーターの設定は、session_set_cookie_params()関数を通じて達成できます。 1)この関数を使用して、有効期限、パス、ドメイン名、セキュリティフラグなどのパラメーターを設定します。 2)session_start()を呼び出して、パラメーターを有効にします。 3)ユーザーログインステータスなど、ニーズに応じてパラメーターを動的に調整します。 4)セキュリティを改善するために、セキュアとhttponlyフラグを設定することに注意してください。

PHPでセッションを使用する主な目的は、異なるページ間でユーザーのステータスを維持することです。 1)セッションはsession_start()関数を介して開始され、一意のセッションIDを作成し、ユーザーCookieに保存します。 2)セッションデータはサーバーに保存され、ログインステータスやショッピングカートのコンテンツなど、さまざまなリクエスト間でデータを渡すことができます。

サブドメイン間でセッションを共有する方法は?一般的なドメイン名にセッションCookieを設定することにより実装されます。 1.セッションCookieのドメインをサーバー側の.example.comに設定します。 2。メモリ、データベース、分散キャッシュなど、適切なセッションストレージ方法を選択します。 3. Cookieを介してセッションIDを渡すと、サーバーはIDに基づいてセッションデータを取得および更新します。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

WebStorm Mac版
便利なJavaScript開発ツール

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

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン
