日韩精品欧美激情国产一区_中文无码精品一区二区三区在线_岛国毛片AV在线无码不卡_亞洲歐美日韓精品在線_使劲操好爽好粗视频在线播放_日韩一区欧美二区_八戒八戒网影院在线观看神马_亚洲怡红院在线色网_av无码不卡亚洲电影_国产麻豆媒体MDX

PHP生成驗證碼之Captcha

時間:2018-01-25 15:23:50 類型:PHP
字號:    

驗證碼在日常技術開發(fā)應用中非常常見且重要,通常用來防止用戶惡意提交表單,如惡意注冊和登錄、論壇惡意灌水等。非常實用的PHP驗證碼庫Captcha。




安裝

使用composer:

composer require gregwar/captcha

使用

我們可以使用CaptchaBuilder創(chuàng)建一個驗證碼:

<?php

use Gregwar\Captcha\CaptchaBuilder;

$builder = new CaptchaBuilder;

$builder->build();

也可以把驗證碼保存為圖片:

<?php

$builder->save('out.jpg');

或者直接輸出為圖片路徑:

<?php

header('Content-type: image/jpeg');

$builder->output();

也可以結合HTML直接輸出圖片:

<img src="<?php echo $builder->inline(); ?>" />

我們可以使用PHP的session()來記錄驗證碼并用于比對用戶輸入的驗證碼是否有效,請看:

<?php

$_SESSION['phrase'] = $builder->getPhrase();

上述代碼在生成驗證碼的時候就把驗證碼保存在session中,當用戶提交輸入的驗證碼后,再從session中取出來進行比對,具體處理代碼請查看DEMO和下載DEMO中的源碼。

生成的驗證碼默認是5個字符,那如果你想生成4個字符的驗證碼,可以這樣:


如果你想生成的驗證碼只有數(shù)字,只需修改:

<?php

$phraseBuilder = new PhraseBuilder(4, '0123456789');

這樣就可以生成4個數(shù)字的驗證碼。

常用方法與選項

build($width = 150, $height = 40, $font = null):設置生成的驗證碼的寬度、高度以及字體。默認情況下,將隨機使用庫中的字體。

save($filename, $quality = 80):生成一張指定文件名和圖片質量的jpg驗證碼圖片。

get($quality = 80):獲取jpg圖片data數(shù)據(jù)。

output($quality = 80):向瀏覽器輸出圖片。

setBackgroundColor($r, $g, $b):設置驗證碼背景色,這個選項一般不推薦使用。

getPhrase():獲取驗證碼內容。