本篇文章主要給大家介紹PHP如何實(shí)現(xiàn)滑塊驗(yàn)證圖片,這里分享一個(gè)工具包“poster”,下面看看怎么實(shí)現(xiàn)吧,希望對(duì)需要的朋友有所幫助!
安裝
composer require kkokk/poster
更新
composer update kkokk/poster
使用文檔
開源倉庫:
gitee 文檔
github 文檔
use Kkokk\Poster\PosterManager; use Kkokk\Poster\Exception\PosterException; try { # 滑塊自定義參數(shù) $params = [ 'src' => '', // 背景圖片,尺寸 340 * 191 'im_width' => 340, // 畫布寬度 'im_height' => 251, // 畫布高度 'bg_width' => 340, // 背景寬度 'bg_height' => 191, // 背景高度 'slider_width' => 50, // 滑塊寬度 'slider_height' => 50, // 滑塊高度 'slider_border' => 2, // 滑塊邊框 ]; $type = 'slider'; /** * 獲取滑塊驗(yàn)證參數(shù) * 內(nèi)部使用了 laravel 的 cache 緩存,返回的是圖片的 base64 、 緩存key 、滑塊高度 * @param string $type 驗(yàn)證碼類型 * @param array $params 驗(yàn)證碼自定義參數(shù) * @return arary */ $data = PosterManager::Captcha()->type($type)->config($params)->get(); /** * 驗(yàn)證滑塊 * 前端根據(jù)相關(guān)滑塊操作進(jìn)行處理, 返回x坐標(biāo),返回 true 則驗(yàn)證成功 * @param string $key 緩存key * @param string|int $value 前端傳回來的x坐標(biāo) * @param int $leeway 誤差值 * @return boolean */ $res = PosterManager::Captcha()->type($type)->check($key, $value, $leeway); } catch (PosterException $e) { print_r($e->getMessage()) }
示例