Rumah  >  Artikel  >  rangka kerja php  >  Bagaimana untuk mematikan fungsi kod pengesahan dalam laravel

Bagaimana untuk mematikan fungsi kod pengesahan dalam laravel

PHPz
PHPzasal
2023-04-08 04:30:02844semak imbas

Laravel ialah rangka kerja PHP yang sangat baik yang digunakan secara meluas dalam pembangunan aplikasi web. Dalam sistem pengesahan pengguna lalai Laravel, kod pengesahan didayakan secara lalai. Ini memastikan keselamatan apabila pengguna log masuk, tetapi dalam beberapa kes anda mungkin mahu mematikan kod pengesahan. Jadi, bagaimana untuk mematikan kod pengesahan dalam Laravel? Artikel ini akan memperkenalkannya kepada anda secara terperinci.

Kod pengesahan dalam Laravel

Laravel menggunakan perkhidmatan reCAPTCHA Google untuk menjana kod pengesahan secara lalai. Dalam fail config/captcha.php, anda boleh melihat pilihan konfigurasi kod pengesahan lalai:

'captcha' => [
    'default' => [
        'length' => 6,
        'width' => 150,
        'height' => 40,
        'quality' => 90,
        'math' => true,
        'expire' => 60,
    ],
    //其他选项
]

Dalam Laravel, penggunaan kod pengesahan adalah sangat mudah. Dalam sistem pengesahan Laravel, kod pengesahan boleh didayakan dengan menambahkan kod berikut pada antara muka log masuk:

@if (config('captcha.default.enable'))
    <div class="form-group">
        <div class="col-md-offset-4 col-md-4">
            <div class="captcha">
                <span>{!! captcha_img() !!}</span>
                <button type="button" class="btn btn-success btn-refresh"><i class="fa fa-refresh"></i></button>
            </div>
        </div>
    </div>
    <div class="form-group">
        <div class="col-md-offset-4 col-md-4">
            <input id="captcha" type="text" class="form-control" placeholder="{{ trans(&#39;validation.attributes.captcha&#39;) }}" name="captcha">
        </div>
    </div>
@endif

Antaranya, dalam fail PHP, tentukan sama ada ia perlu dijana dengan menilai sama ada pengesahan fail konfigurasi kod didayakan. Jika perlu, gunakan fungsi captcha_image() untuk menjana imej kod pengesahan. Dalam templat HTML, kod pengesahan dilaksanakan dengan memaparkan imej dan membenarkan pengguna memasukkan rentetan yang sepadan.

Bagaimana untuk mematikan kod pengesahan dalam Laravel?

Untuk sesetengah aplikasi, kod pengesahan mungkin kelihatan tidak diperlukan atau mengganggu pengalaman pengguna. Sesetengah pengguna merasa menjengkelkan untuk memasukkan kod pengesahan untuk log masuk. Jika anda perlu mematikan captcha dalam Laravel, sila ikut langkah berikut:

Langkah 1: Ubah suai fail konfigurasi

Dalam config/captcha.php, tetapkan pilihan daya kepada palsu:

'captcha' => [
    'default' => [
        'length' => 6,
        'width' => 150,
        'height' => 40,
        'quality' => 90,
        'math' => true,
        'expire' => 60,
        'enable' => false, //将enable选项设置为false
    ],
    //其他选项
]

Langkah 2: Alih keluar kod templat HTML

Dalam Laravel, kod penjanaan kod pengesahan biasanya ditulis dalam templat HTML. Selepas mematikan CAPTCHA, anda harus mengalih keluar kod ini daripada templat HTML yang sepadan.

Langkah 3: Ubah Suai AuthController

AuthController ialah pengawal terbina dalam Laravel untuk pengesahan pengguna. Selepas mematikan kod pengesahan, anda juga perlu mengubah suai kaedah log masuk() dalam AuthController.

Dalam kaedah ini, padamkan coretan kod berikut:

if (config('captcha.default.enable')) {
    $rules = $request->rules();
    $rules['captcha'] = 'required|captcha';
    $request->validate($rules);
}

Coretan kod di atas digunakan untuk mengesahkan kod pengesahan dan membuang pengecualian apabila kod pengesahan tidak sepadan. Selepas mematikan kod pengesahan, kod ini tidak lagi diperlukan. Anda harus mengalih keluarnya untuk memastikan pengguna boleh log masuk seperti biasa.

Ringkasan

Fungsi kod pengesahan dalam Laravel didayakan secara lalai, yang boleh meningkatkan keselamatan aplikasi dalam kebanyakan kes. Walau bagaimanapun, dalam beberapa kes, kod pengesahan mungkin perlu dimatikan. Mematikan captcha dalam Laravel adalah sangat mudah. Cuma ubah suai fail konfigurasi kod pengesahan, padamkan kod dalam templat HTML dan ubah suai kaedah log masuk() dalam AuthController.

Atas ialah kandungan terperinci Bagaimana untuk mematikan fungsi kod pengesahan dalam laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn