نحوه ساخت یک سیستم احراز هویت ایمن در لاراول

اگر در حال ساخت یک برنامه Laravel هستید و از تأیید اعتبار پیش فرض خارج از جعبه استفاده می کنید …
شما حداقل کار را انجام می دهید. این همیشه کافی نیست.
هکرها باهوش تر هستند. کاربران انتخاب کننده هستند.
امنیت دیگر یک ویژگی نیست – این اولین خط دفاع برنامه شما است.
بگذارید به شما نشان دهم که چگونه ساخت سیستم احراز هویت محکم و ایمن در لاراول این از کاربران شما – و شهرت شما محافظت می کند.
چرا لاراول؟ و چرا امنیت است شما کار
لاراول دوستانه توسعه دهنده ، قدرتمند است و همراه است داربست احراز هویت استارتبشر اما اجازه ندهید که شما را به فکر این باشد که به اندازه کافی برای تولید ایمن است.
امنیت یک ذهنیت است. و در لاراول نیز یک سری از شیوه های هوشمند است:
- اعتبار سنجی همه چیز (همیشه)
- رمزگذاری داده های حساس
- جلوگیری از دسترسی غیرمجاز
- با استفاده از هشویی مدرن
- فعال کردن 2FA و بیشتر
بیایید همه آن را خراب کنیم.
مرحله 1: با نسیم Laravel یا Laravel JetStream شروع کنید
Laravel باعث می شود که تأیید اعتبار با Breeze یا JetStream ، احراز هویت داربست را آسان کنید.
برای نصب نسیم:
composer require laravel/breeze --dev
php artisan breeze:install
npm install && npm run dev
php artisan migrate
✅ شما اکنون دارید:
- ورود
- ثبت نام
- تنظیم مجدد رمز عبور
- تأیید ایمیل
آیا می خواهید با 2FA ، جلسات و تیم ها پیشرفته تری داشته باشید؟
مرحله 2: رمزهای عبور ساده را ذخیره نکنید (همیشه)
Laravel به طور پیش فرض از bcrypt به رمزهای عبور هش استفاده می کند.
هنگام ثبت نام کاربر ، این کار را به صورت خودکار انجام می دهد:
use Illuminate\Support\Facades\Hash;
$user = User::create([
'name' => $request->name,
'email' => $request->email,
'password' => Hash::make($request->password),
]);
✅ هرگز رمزهای عبور را مستقیماً ذخیره نکنید.
✅ از هشویی منسوخ مانند MD5 یا SHA1 استفاده نکنید.
مرحله 3: تأیید ایمیل را فعال کنید
خارج از جعبه ، لاراول از تأیید ایمیل پشتیبانی می کند.
برای فعال کردن آن:
- اضافه کردن
MustVerifyEmail
به مدل کاربر خود:
use Illuminate\Contracts\Auth\MustVerifyEmail;
class User extends Authenticatable implements MustVerifyEmail
- اضافه کردن
verified
واسطه به مسیرها:
Route::middleware(['auth', 'verified'])->group(function () {
// Protected routes here
});
چرا مهم است: از ثبت نام های جعلی و رباتها جلوگیری کنید.
اطلاعات بیشتر در مورد تأیید ایمیل: اسناد Laravel
مرحله 4: محافظت از CSRF-داخلی است ، از آن استفاده کنید
Laravel شامل محافظت CSRF به طور خودکار در فرم ها است. هر فرم باید داشته باشد:
✅ از مهاجمان از جعل درخواست ها به نمایندگی از کاربران جلوگیری می کند.
مرحله 5: محدود کردن نرخ تلاش برای ورود به سیستم
Laravel از Middleware دریچه گاز برای جلوگیری از تلاش های ورود به سیستم بی رحمانه استفاده می کند.
مسیر مثال:
Route::post('/login', [LoginController::class, 'login'])->middleware('throttle:5,1');
این اجازه می دهد 5 تلاش در دقیقهبشر
به یک راه حل پیشرفته تر نیاز دارید؟ برای امنیت مدرن از Laravel Stortify استفاده کنید.
مرحله 6: احراز هویت دو عاملی (2FA)
یک لایه امنیتی اضافی با 2FA اضافه کنید.
اگر از JetStream یا Fortify استفاده می کنید ، 2FA در حال حاضر در دسترس است:
php artisan vendor:publish --tag=fortify-config
سپس فعال کنید:
'features' => [
Features::twoFactorAuthentication([
'confirmPassword' => true,
]),
],
✅ از برنامه های معتبر مانند Google Authenticator استفاده کنید.
✅ حتی اگر رمز ورود آنها به بیرون درز باشد ، از کاربران محافظت می کند.
مرحله 7: از HTTPS و کوکی های ایمن استفاده کنید
همیشه برنامه Laravel خود را از طریق HTTPS سرو کنید. در شما .env
:
SESSION_SECURE_COOKIE=true
همچنین https را در خود مجبور کنید AppServiceProvider
:
use Illuminate\Support\Facades\URL;
public function boot()
{
if(env('APP_ENV') !== 'local') {
URL::forceScheme('https');
}
}
✅ ارتباط بین مشتری و سرور را رمزگذاری می کند.
مرحله 8: جلسات غیرفعال را وارد کنید
در config/session.php
:
'lifetime' => 30, // 30 minutes
'expire_on_close' => true,
✅ از فعال شدن جلسات ربوده شده جلوگیری می کند.
جایزه: بسته های امنیتی توصیه شده
در اینجا چند بسته و منابع برای رسیدن امنیت لاراول به سطح بعدی آورده شده است:
افکار نهایی
احراز هویت برنامه خود را فقط “تنظیم و فراموش نکنید”.
این مهمترین دروازه بان برنامه شما است.
ایمن شروع کنید. ایمن بمانید و با انجام این کار درست از روز اول ، اعتماد کاربر را کسب کنید.
👇 سؤالاتی دارید یا می خواهید چگونه به اشتراک بگذارید شما برنامه های Laravel خود را ایمن کنید؟
یک نظر را رها کنید – من به همه پاسخ می دهم!
دنبال کردن [DCT Technology] برای راهنماهای عمیق تر در مورد مشاوره Laravel ، Web Dev ، SEO و IT.
#laravel #php #websecurance #devcommunity #laraveltips #webdevelopment #cybersecurance #api #2fa #sanctum #authentication #securecoding #DctTechnology #Laravelauth #TechInsights #WebAppSecurity