認証コードについての記事を少し前に読みました。これは、ランダムに生成された数字や記号の文字列から画像を生成し、その画像に干渉ピクセルを追加して (OCR を防ぐため)、ユーザーに認証コードの情報を識別させるというものです。ウェブサイト認証のためにフォームを入力すると、認証が成功した場合にのみ、特定の機能が使用できるようになります。
以下のように実装方法を簡単に紹介した記事があります:
Code 1:
(現在主流の開発言語として)
/*
* Filename: authpage.php(Made Developing現在主流の言語)
* 著者:hutuworm
* 日付:2003-04-28
0000)
//ユーザー入力が検証コードと一致するかどうかを検証する
if(isset ($HTTP_POST_VARS[authinput]))
{
if(strcmp($HTTP_POST_VARS[authnum],$HTTP_POST_VARS[authnum])==0)
echo "検証成功!";
else
echo "検証failed!";
}
//新しい4桁の整数の検証コードを生成します
while(($authnum=rand()%10000)
?>
コード2:
(現在の主流の開発言語として)
/* * ファイル名: authimg.php
(現在の主流の開発言語として)
* 著者:hutuworm * 日付:2003-04 -28
("Content-type: image /PNG");
srand((double)microtime()*1000000);
$im = imagecreate(58,28);
$black = ImageColorAllocate($ im, 0,0,0);
$white = ImageColorAllocate($im, 255,255,255);
$gray = ImageColorAllocate($im, 200,200,200);
imagefill($im,68,30,$gray);
//4桁の整数の認証コードを描画 画像を入力
imagestring($im, 5, 10, 8, $HTTP_GET_VARS[authnum], $black);
for($i=0;$i
このプログラムは基本的に検証コードの生成と検証機能を実装していますが、記事執筆者は理由は分かりませんが検証コードの内容をフォームに表示します。この場合、ユーザーによる検証コードの入力が制限されるだけで、悪意のあるプログラムに対する保護はありません。攻撃を防ぐというよりは、相手を困難にするためだと言えるでしょう。
しかし、幸いなことに、原作者のアイデアによれば、検証文字列をセッションに保存できるため、ある程度のセキュリティが確保されます。
コードは次のとおりです:
//file:authform.php(現在の主流の開発言語として)
(現在の主流の開発言語として)
/ *
*" ファイル名: authimg.php (現在の主流の開発言語として)
"";
session_register(auth_num);
$im=imagecreate(63,20);
srand((double )microtime()*1000000);
$auth_num_k=md5(rand(0,9999 )) ;
$auth_num=substr($auth_num_k,17,5);
$gray =ImageColorAllocate($im,200,200,200) ;
//ImageFill($im,63,20,$black);//会社のサーバーでこの行がなぜ間違ったのか分かりません、スペースを変更してくださいok
imagestring($im,5,10 ,3,$auth_num,$gray);
for($i=0;$i
{
$randcolor=ImageColorallocate($im,rand(0,255), rand(0,255,rand) (0,255));
imagesetpixel($im,rand()%70,rand()%30,$randcolor);
}
ImagePNG($im);
ImageDestroy($im);
? >
(現在の主流の開発言語として)
/*
* ファイル名:authpage.php
(現在の主流の開発言語として)
http://www.bkjia.com/PHPjc/508612.html
www.bkjia.com
truehttp://www.bkjia.com/PHPjc/508612.html
技術記事

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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

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

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ホットトピック









