کنترل ورودی پسورد کاربران لاراول 5

گردآوری و تالیف : امیررضا سیستانه ای
تاریخ انتشار : 15 آذر 1396
دسته بندی ها : لاراول

امروز می خواهیم در مورد جلوگیری از ورود پسوردهای معمول و ساده از طرف کاربران صحبت کنیم. این کار رو با استفاده از پکیج laravel-password انجام میدیم که به سادگی میشه از قانون ارزیابی dumbpwd استفاده کرد.

همینطور که میدونیم امنیت یک کلید برای وبسایت یا نرم افزار هست. اگر شما یک اکانت جدید می سازید و از پسوردهای معمول مثل 123456 یا 123123 یا abcd استفاده کنید, این نوع پسوردها قابل حدس هستند و میتونه باعث ایجاد مشکلات امنیتی بشوند. بنابراین ما باید راهی پیدا کنیم تا از ثبت این نوع پسورد ها جلوگیری کنیم.

در این مقال می خواهیم طریقه ی جلوگیری از ثبت این پسوردها رو با استفاده از قانون ارزیابی لاراول یاد بگیریم. لاراول بصورت پیشفرض این کار رو انجام نمیده برای همین ما از پکیج laravel-password استفاده می کنیم.

پس قدم های زیر رو دنبال کنید تا در نهایت به یک چیزی شبیه تصویر زیر برسید :

قدم اول - نصب لاراول

برای اینکار ما از لاراول نسخه 5.4 استفاده می کنیم. ترمینال خود رو باز کرده و دستور زیر رو اجرا کنید :

composer create-project --prefer-dist laravel/laravel blog

قدم دوم - ساخت احراز هویت

اگر شما از پایه پروژه رو شروع می کنید باید مطمئن بشید تنظیمات دیتابیس در فایل env. انجام شده و migration اجرا شده باشه. بعد از اینکار ما auth رو برای صفحات login, register می سازیم :

php artisan make:auth

قدم سوم - نصب پکیج

در این قدم ما باید پکیج laravel-password رو برای دسترسی به متد قانون ارزیابی نصب کنیم پس در ترمینال دستور زیر رو اجرا کنید :

composer require unicodeveloper/laravel-password

بعد از نصب اون باید فایل config/app.php باز کرده و provider مربوطه رو اضافه کنید :

'providers' => [
	....
	Unicodeveloper\DumbPassword\DumbPasswordServiceProvider::class
],
.....

قدم چهارم - افزودن پیام ارزیابی

بعد از نصب پکیج ما باید پیام سفارشی رو برای ارزیابی بیافزاییم. پس بصورت زیر عمل کنید :

//resources/lang/en/validation.php

return [

    /*
    |--------------------------------------------------------------------------
    | Validation Language Lines
    |--------------------------------------------------------------------------
    |
    | The following language lines contain the default error messages used by
    | the validator class. Some of these rules have multiple versions such
    | as the size rules. Feel free to tweak each of these messages here.
    |
    */

    'dumbpwd' => 'You are using a dumb password abeg',
    ....

قدم پنجم - استفاده از قانون ارزیابی

حالا ما برای استفاده از قانون ارزیابی dumbpwd آماده ایم, پس بصورت زیر استفاده کنید :

//app/Http/Controllers/Auth/RegisterController.php

namespace App\Http\Controllers\Auth;

use App\User;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Validator;
use Illuminate\Foundation\Auth\RegistersUsers;

class RegisterController extends Controller
{
    /*
    |--------------------------------------------------------------------------
    | Register Controller
    |--------------------------------------------------------------------------
    |
    | This controller handles the registration of new users as well as their
    | validation and creation. By default this controller uses a trait to
    | provide this functionality without requiring any additional code.
    |
    */

    use RegistersUsers;

    /**
     * Where to redirect users after registration.
     *
     * @var string
     */
    protected $redirectTo = '/home';

    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('guest');
    }

    /**
     * Get a validator for an incoming registration request.
     *
     * @param  array  $data
     * @return \Illuminate\Contracts\Validation\Validator
     */
    protected function validator(array $data)
    {
        return Validator::make($data, [
            'name' => 'required|max:255',
            'email' => 'required|email|max:255|unique:users',
            'password' => 'required|min:6|dumbpwd|confirmed',
        ]);
    }

    /**
     * Create a new user instance after a valid registration.
     *
     * @param  array  $data
     * @return User
     */
    protected function create(array $data)
    {
        return User::create([
            'name' => $data['name'],
            'email' => $data['email'],
            'password' => bcrypt($data['password']),
        ]);
    }
}

حالا اپلیکیشن آمادست کافیه php artisan serve رو اجرا کرده و آدرس http://localhost:8000/ رو باز کنید.

منبع

مقالات پیشنهادی

6 ویژگی فوق العاده لاراول 5.5 که باید در پروژه بعدی استفاده کنید

لاراول 5.5 به تازگی منتشر شده, بنابراین اگر شما میخواهید برای پروژه بعدی تون برنامه ریزی کنید, باید مزایای فوق العاده این نسخه رو بدونید و ازشون تا حد...

ساخت گزارش ورود کاربران در لاراول

اینجا می خواهیم درمورد ساخت یک سیستم مدیریت گزارش ساده در لاراول بحث کنیم. من جداول سفارشی log (گزارش) و کمکی facade که بتونید گزارش کاربران رو ردیابی...

تغییرات اولیه لاراول 5.6

نسخه ی جدید لاراول یعنی 5.6 قراره که در فوریه ی 2018 منتشر بشه. در این مقاله می خواهیم نگاهی به آخرین جزئیات منتشر شده درمورد Laravel 5.6 بیاندازیم. 

قوانین سفارشی اعتبارسنجی در لاراول 5.5

قوانین سفارشی اعتبارسنجی یکی از ویژگی های جدید لاراول در نسخه ی 5.5 هست, به ما کمک می کنه قوانین اعتبارسنجی رو طوری که می خواهیم داشته باشیم.