Laravel Bss 專案中用到的第三方擴充套件一,驗證碼擴充套件包

lary-zhang發表於2018-11-28

驗證碼

file

驗證碼 是防止惡意破解密碼、刷票、論壇灌水、刷頁的手段。驗證碼有 多種型別。 本專案中我們將使用圖片驗證碼,其原理是讓使用者輸入一個扭曲變形的圖片上所顯示的文字或數字,扭曲變形是為了避免被光學字元識別軟體(OCR)自動辨識。由於計算機無法識別驗證碼的圖片,所以回答出問題的使用者就可以被認為是人類。

接下來我們將使用驗證碼來防衛的使用者註冊功能。

安裝擴充套件包

我們將以第三方擴充套件包 mews/captcha 作為基礎來實現 Laravel 中的驗證碼功能。

使用 Composer 安裝:

$  composer require "mews/captcha:~2.0" 
$  php artisan vendor:publish --provider='Mews\Captcha\CaptchaServiceProvider'
附上生成配置的解釋
// 從 vendor 的擴充套件包中釋出任何可釋出的資源
 // --force        重寫所有已存在的檔案
 // --provider     指定你想要釋出資原始檔的服務提供者
 // --tag          指定你想要釋出標記資源.
php artisan vendor:publish [--force] [--provider[="..."]] [--tag[="..."]]

我們可以開啟配置檔案,檢視其內容:

config/captcha.php

<?php

return [

    'characters' => '2346789abcdefghjmnpqrtuxyzABCDEFGHJMNPQRTUXYZ',

    'default'   => [
        'length'    => 5,
        'width'     => 120,
        'height'    => 36,
        'quality'   => 90,
    ],

    'flat'   => [
        'length'    => 6,
        'width'     => 160,
        'height'    => 46,
        'quality'   => 90,
        'lines'     => 6,
        'bgImage'   => false,
        'bgColor'   => '#ecf2f4',
        'fontColors'=> ['#2c3e50', '#c0392b', '#16a085', '#c0392b', '#8e44ad', '#303f9f', '#f57c00', '#795548'],
        'contrast'  => -5,
    ],

    'mini'   => [
        'length'    => 3,
        'width'     => 60,
        'height'    => 32,
    ],

    'inverse'   => [
        'length'    => 5,
        'width'     => 120,
        'height'    => 36,
        'quality'   => 90,
        'sensitive' => true,
        'angle'     => 12,
        'sharpen'   => 10,
        'blur'      => 2,
        'invert'    => true,
        'contrast'  => -5,
    ]

];

可以看到這些配置選項都非常通俗易懂,characters 選項是用來顯示給使用者的所有字串,default, flat, mini, inverse 分別是定義的四種驗證碼型別,你可以在此修改對應選項自定義驗證碼的長度、背景顏色、文字顏色等屬性,在此不做過多敘述。

相關文章