۱ یاسین سرحدی
کاربرد متد ()uncompromised
جامعه لاراول ایجاد شده در ۲۳ بهمن ۱۴۰۳

وقتی ما برای مثال از متد ()uncompromised استفاده میکنیم به این شکل:

$request->validate([
    'password' => [
        'required',
        'string',
        Password::min(8) // حداقل ۸ کاراکتر
            ->uncompromised(), // بررسی امنیت پسورد
    ],
]);

از نسخه لاروال 8 به بعد این تابع با استفاده از اینترنت میاد و پسورد‌های اصطلاحا لیک شده یا لو رفته رو چک میکنه و اگر داخل اون بود این پیام رو برمیگردونه:

The given password has appeared in a data leak. Please choose a different password.

که یعنی این پسورد شما لو رفته مثلا ما اگر از پسور 12345678 استفاده کنیم و هیچ شرط دیگه ای نداشته باشیم این متد برای ما ارور برمیگردونه و میگه این پسورد لو رفته.

این تابع بطور دقیق میاد و به سایت Have I Been Pwned که یک دیتابیس از هش رمز‌های لو رفته داره متصل میشه و از این API چک میکنه که آیا این پسورد از قبل چندبار لو رفته و چک میکنه، که این باعث افزایش امنیت پسورد کاربران ما میشه ما میتونیم از این تابع به این شکل هم استفاده کنیم:

Password::min(8)->uncompromised(3)

که یعنی چک کنه اگر حداکثر این پسورد سه بار لو رفته اون رد کنه درحالت پیشرفرض این عدد 1 هست یعنی اگر یکبار هم این پسورد لیک شده باشه اون رو رد میکنه.

سلام،

بسیار عالی، خسته نباشید.

محسن موحد ۲۴ بهمن ۱۴۰۳، ۲۰:۵۹