آبجکت اعتبار سنجی پسورد در لاراول 8.39

به لطف تلاش‌های Nuno Maduro، شی یا آبجکت (Object) رول پسورد (Password Rule) جدید به ورژن 8.39 لاراول اضافه شد. شی پسورد از یه API s ساده برای برطرف کردن نیازهای رایج رمز عبور استفاده میکنه. همچنین میتونه رمز عبورهای در معرض خطر رو شناسایی کنه.

این قاعده به شما اجازه میده تا به راحتی نیازهای پیچیدگی رمز عبور رو شخصی سازی کنید. همچنین با استفاده از روش “uncompromised()” میتونید اطمینان حاصل کنید که رمز عبور، در نشت داده ها (data leaks) به خطر نیفتاده باشه.

در اصل این مدل اعتبار سنجی سفارشی رول اشیا در لاراول 5.5 منتشر شد. این ساختار جایگزینی ساده برای قوانین مبتنی بر رشته (String) بود. در ساده ترین شکل، شی رول قانون رمز عبور جایگزین قوانین اعتبارسنجی رشته ای میشد:

<?php

// String-based
$request->validate([
    'password' => 'required|string|confirmed|min:8',
]);

// Using the Password rule object
$request->validate([
    'password' => ['required', 'confirmed', Password::min(8)],
]);

آبجکت جدید بیشتر از جایگزینی ساده قوانین رشته با یه شی پسورد هستش. رول شی رمز عبور سفارشی، شامل روش های داخلی برای اطمینان از رمز عبور های قوی هستش:

<?php

$request->validate([
    'password' => [
        'required',
        'confirmed',
        Password::min(8)
            ->mixedCase()
            ->letters()
            ->numbers()
            ->symbols()
            ->uncompromised(),
    ],
]);

هیچوقت منطق سفارشی بر اساس regex رو برای سناریوهای معمولی مثل نیاز به حروف کوچک، بزرگ، نمادها و… استفاده نکنید. متد uncompromised() رمز عبور رو با API نشت داده ها (data leaks) بررسی میکنه و تاییده ای ارسال میکنه تا ببینید که رمز عبور وارد شده، در نشت داده ها دیده شده یا نه. توی این نسخه، با اجرای NotPwnedVerifier که با وب سرویس Have I Been Pwned پیاده سازی شده، کار میکنه.

علاوه بر این مورد عالی و اعتبار سنجی سفارشی جدید، درخواست Pull Request #36960 گیت هاب شامل چندین نمونه خوب برای استفاده در لاراول و تست فراخوانی و اعتبار سنجی وب سرویس هستش.

 

منبع : laravel-news.com

مطالب مرتبط پیشنهادی
نظر خود را ارسال کنید

آدرس ایمیل شما منتشر نخواهد شد.

*

code