ホームページ > バックエンド開発 > PHPチュートリアル > PHP は検証コードを使用して学習ノートの悪意のある登録を防止します_PHP チュートリアル

PHP は検証コードを使用して学習ノートの悪意のある登録を防止します_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:50:31
オリジナル
1083 人が閲覧しました

悪意のある登録を防ぐために一般的に使用される方法は、ユーザーが登録情報を送信するときに、人間だけが認識できるようにグラフィックの確認コードをランダムに生成することです。もう少し複雑です。


今日は、PHP 検証コードを学習します。まず、簡単なデジタル検証コードを使用して実装します。まず、検証コードを生成するコードを作成します。

コードは次のとおりですコードをコピー

//4桁の確認コードをランダムに生成します

$num=""; for($i=0;$i<4;$i++){ $num .= rand(0,9);

//4 桁の確認コードは、rand(1000,9999) を使用して直接生成することもできます

//生成された検証コードを検証ページで使用するためにセッションに書き込みます

Session_start(); $_SESSION["Checknum"] = $num;

//画像を作成し、色の値を定義する Header(“Content-type: image/PNG”);

srand((double)microtime()*1000000);

$im = imagecreate(60,20);

$black = ImageColorAllocate($im, 0,0,0);

$gray = ImageColorAllocate($im, 200,200,200);

imagefill($im,0,0,$gray);

//干渉として機能する 2 本の点線をランダムに描画します

$style = array($black, $black, $black, $black, $black, $gray, $gray, $gray, $gray, $gray);

imagesetstyle($im, $style);

$y1=ランド(0,20); $y2=ランド(0,20); $y4=ランド(0,20);

イメージライン($im, 0, $y1, 60, $y3, IMG_COLOR_STYLED);

イメージライン($im, 0, $y2, 60, $y4, IMG_COLOR_STYLED)

// キャンバス上に多数の黒い点をランダムに生成して妨害します

for($i=0;$i<80;$i++) {

imagesetpixel($im, rand(0,60), rand(0,20), $black);

//キャンバス上に4つの数字をランダムに表示し、文字の横方向の間隔と位置は一定の変動幅に従ってランダムに生成されます

$strx=rand(3,8);

for($i=0;$i<4;$i++){

$strpos=rand(1,6); 画像文字列($im,5,$strx,$strpos, substr($num,$i,1), $black);

}

ImagePNG($im);

?>

reg.php ページでフォームを記述します: (他の HTML コードはここでは省略されています)

コードは次のとおりです

コードをコピー

postを使用して送信したため、$_POSTを使用して取得します(承認ページ:post.phpページで確認コードを確認します)

確認コード:
確認コード:
コードは次のとおりです コードをコピー

Session_start();

//back_alert() 認証コードが間違って入力されると、エラーメッセージが表示されます

関数 back_alert($yzm){

echo "";

}

//悪意のある呼び出しを禁止します(ブラウザでpost.phpページを直接開くことは禁止されています)

if($_POST["yzm"]==null){

back_alert('確認コードを入力していませんね???');

// 悪質な登録は禁止です

if(!($_POST["yzm"]==$_SESSION["Checknum"])){

back_alert('認証コードが間違っています');

} echo $_POST["yzm"];

http://www.bkjia.com/PHPjc/632625.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/632625.html技術記事悪意のある登録を防ぐために一般的に使用されるのは、ユーザーが登録情報を送信するときに、グラフィックの確認コードをランダムに生成して、単純な確認です...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート