Weibo アカウント、他のフォーラム アカウントなどにログインする場合は、認証コードを入力する必要があることがわかります。ログインには認証コードが使用されるため、セキュリティが向上します。これは適切な PHP プロジェクト コードです。検証コードの実装に誤りがある場合は指摘してください。
/**
*確認テキストを追加
* @param int $type
* @param int $length*/function buildRandomString($type=1,$ length=4){
$row='';
if($type==1){
$row=join('',range(0, 9));
}else if($type==2){
$row=join('', array_merge(range('a','z'),range( 'A', 'Z')));
}else if($type==3){
$row=join('', array_merge(range('a', 'z'),range('A', 'Z'),range(0, 9)));
};
$row=str_shuffle($row);
$row=substr($row,0,$length);
return $row;
}/**
* サムネイルを生成
* @param int $type // 数字または英語が含まれます
* @param int $length 文字数
* @ param int $pixel 干渉ドットの密度
* @param int $dst_h 干渉線の密度
* @param string //$_SESSION 内の検証コードの名前
*/
function verifyImage($type=1,$length=4,$pixel=0,$line=0,$sess_name = "verify"){
//session_start();
//キャンバスを作成
$width = 100;
$height = 40;
$image = imagecreatetruecolor ($width, $height);
$white = imagecolorallocate ($image, 255, 255, 255);
$black = imagecolorallocate ($image, 0, 0, 0);
//パディングを使用長方形の塗りつぶされたキャンバス
imagefilledrectangle ($image, 1, 1, $width - 2, $height - 2, $white);
$chars = buildRandomString ($type, $length);
$_SESSION [$sess_name] = $chars;
//$fontfiles = array ("MSYH.TTF", "MSYHBD.TTF", "SIMLI.TTF", "SIMSUN. TTC", "SIMYOU.TTF", "STZHONGS.TTF" );
$fontfiles = array ("SIMKAI.TTF" );
//フォントファイルが比較的大きいため、フォントを予約するだけです。フォントはコンピューターのフォント フォルダーにあります。実行してフォントを入力するだけで、($i = 0; $) に対応するフォントが表示されます。 i
$size = mt_rand (14, 18);
$angle = mt_rand (- 15, 15);
$x = 5 + $i * $size;
$y = mt_rand (20, 26);
$fontfile = "../fonts/" . 0、カウント ( $fontfiles ) - 1 )];
$color = imagecolorallocate ( $image, mt_rand ( 50, 90 ), mt_rand ( 80, 200 ), mt_rand ( 90, 180 ) );
$text = substr ( $chars, $i、 1 );
imagettftext ( $image, $size, $angle, $x, $y, $color, $fontfile, $text );
}
if ($pixel) {
for($i = 0; $i
imagesetpixel ( $image, mt_rand ( 0, $width - 1 ) , mt_rand ( 0, $height - 1 ), $black );
}
}
if ($line) {
for($ i = 1; $i
$color = imagecolorallocate ( $image, mt_rand ( 50, 90 ), mt_rand ( 90, 180) ) );
imageline ( $image, mt_rand ( 0, $width - 1 ), mt_rand ( 0, $height - 1 ), mt_rand ( 0, $width - 1 ), mt_rand ( 0, $height - 1 ), $color );
}
}
header ( "content-type:image/gif" );
imagegif ( $ image );
imagedestroy ( $image );
}
主要要点:1、如果前没有申明session_start();则必要申明;2、字体可在cmf 入力フォントは、独自のフォント ファイルにダウンロードされます。3、$_SESSION [$sess_name] は、$_POST 経由でユーザー入力の認証コードを取得して比較を実行できます。

phpssionsStrackuserdataacrossmultiplepagerequestsusingauniqueidstoredinacookie.here'showtomanageetheemefectively:1)Startassession withsession_start()andstoredatain $ _ session.2)RegeneratesseSsessidafterloginwithsession_id(the topreventes_id)

PHPでは、次の手順を通じてセッションデータを繰り返すことができます。1。session_start()を使用してセッションを開始します。 2。$ _Sessionアレイのすべてのキー価値ペアを介してforeachループを反復します。 3.複雑なデータ構造を処理する場合、is_array()またはis_object()関数を使用し、print_r()を使用して詳細情報を出力します。 4.トラバーサルを最適化する場合、ページングを使用して、一度に大量のデータの処理を避けることができます。これにより、実際のプロジェクトでPHPセッションデータをより効率的に管理および使用するのに役立ちます。

このセッションは、サーバー側の状態管理メカニズムを介してユーザー認証を実現します。 1)セッションの作成と一意のIDの生成、2)IDはCookieを介して渡されます。3)サーバーストアとIDを介してセッションデータにアクセスします。

tostoreauser'snameInappession、starthessession withsession_start()、thensignthenameto $ _session ['username']。1)ousession_start()toinitializethessession.2)assighttheuser'snameto $ _ session ['username']

PHPSESSIONの障害の理由には、構成エラー、Cookieの問題、セッションの有効期限が含まれます。 1。構成エラー:正しいセッションをチェックして設定します。save_path。 2.Cookieの問題:Cookieが正しく設定されていることを確認してください。 3.セッションの有効期限:セッションを調整してください。GC_MAXLIFETIME値はセッション時間を延長します。

PHPでセッションの問題をデバッグする方法は次のとおりです。1。セッションが正しく開始されるかどうかを確認します。 2.セッションIDの配信を確認します。 3.セッションデータのストレージと読み取りを確認します。 4.サーバーの構成を確認します。セッションIDとデータを出力し、セッションファイルのコンテンツを表示するなど、セッション関連の問題を効果的に診断して解決できます。

session_start()への複数の呼び出しにより、警告メッセージと可能なデータ上書きが行われます。 1)PHPは警告を発し、セッションが開始されたことを促します。 2)セッションデータの予期しない上書きを引き起こす可能性があります。 3)session_status()を使用してセッションステータスを確認して、繰り返しの呼び出しを避けます。

PHPでのセッションライフサイクルの構成は、session.gc_maxlifetimeとsession.cookie_lifetimeを設定することで達成できます。 1)session.gc_maxlifetimeサーバー側のセッションデータのサバイバル時間を制御します。 0に設定すると、ブラウザが閉じているとCookieが期限切れになります。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

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

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

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

ホットトピック









