hossein
5 سال پیش توسط hossein مطرح شد
7 پاسخ

امنیت در لاراول

سلام . دوستان کسی نکات امنیتی در لاراول رو میدونه؟ حملات sql و xss و csrf رو که خود لاراول جلوشو میگیره
من منظورم نکاتی تو ساخت مسیر کنترلر احراز هویت و در حالت کلی تو برنامه نویسی لاراول
مثلا من یه سایت با لاراول زدم نکات هم رعایت کردم ولی بردم شرکت طرف میگفت مشکل امنیتی زیاد داره . تو یه دقیقه سایتت هک میشه

اگه دوره ای میشناسین حاضرم هزینش رو بدم
فقط خیلی فوریه


ثبت پرسش جدید
Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
0

سلام
@emperatur133

یه سری موارد از سمت سرور باید رعایت شه
یه سری موارد هم از سمت کد شما
سرور که بحثش جدا و مفصله
اما سمت کدتون
توی لاراول ، از میدل ور ها استفاده کنید
ولیدیشن روی داده ها حتما انجام بدید
روی یوزر ها ، ایمیل ها ، پسورد ها ، پسورد فلان حرفی باشه
ایمیل یونیک باشه
توی میدل ور ها ادمین وکاربر جدا باشن
موقع آپلود فایل حتما حتما باید ولیدیشن کنید
روی سایز ، پسوند ، اسم ، و ...
توی کوئری ها تقریبا 99 درصد جلوی حملات گرفته میشه.

ولی توی کد ، استفای به جا از مدل ها
پاس دادن مقادیر لازم سمت ویوو ها
سطح دسترسی متد ها توی کنترلر این موارد رو باید رعایت کنید

موفق باشید


sajjad
تخصص : برنامه نویس back end
@sajjad652 5 سال پیش مطرح شد
0

خوب شما خودت داری میگی مشکل احراز هویت پس این مورد رو باید درست کنی


hossein
تخصص : توسعه دهنده
@emperatur133 5 سال پیش مطرح شد
0

@sajjad652
من کی گفتم مشکل احراز هویت دارم ؟
میگم یه سری نکات امنیتی که مرسوم هست مثل تزریف sql و xss و... لاراول جلوشون رو میگیره
چه نکات دیگه ای تو برنامه نویسی و کار کردن با لاراول باید توجه کنیم تا پروژه ما مشکل امنیتی نداشته باشه
اون احراز هویت مثال بود .


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
0

سلام
@emperatur133

یه سری موارد از سمت سرور باید رعایت شه
یه سری موارد هم از سمت کد شما
سرور که بحثش جدا و مفصله
اما سمت کدتون
توی لاراول ، از میدل ور ها استفاده کنید
ولیدیشن روی داده ها حتما انجام بدید
روی یوزر ها ، ایمیل ها ، پسورد ها ، پسورد فلان حرفی باشه
ایمیل یونیک باشه
توی میدل ور ها ادمین وکاربر جدا باشن
موقع آپلود فایل حتما حتما باید ولیدیشن کنید
روی سایز ، پسوند ، اسم ، و ...
توی کوئری ها تقریبا 99 درصد جلوی حملات گرفته میشه.

ولی توی کد ، استفای به جا از مدل ها
پاس دادن مقادیر لازم سمت ویوو ها
سطح دسترسی متد ها توی کنترلر این موارد رو باید رعایت کنید

موفق باشید


hossein
تخصص : توسعه دهنده
@emperatur133 5 سال پیش مطرح شد
0

@Alimotreb
ممنون از شما . نکات خیلی خوبی گفتین .ممنون
دوره ای هست که این نکات رو کامل و جامع توضیح بده؟
بیشتر حساسیتم تو بحث:
پاس دادن دیتا به ویوو
ذخیره و بازیابی اطلاعات از دیتابیس
ذخیره و نمایش فایل هاست

مثلا من اوایل در درخواست رو تو request اعتبار سنجی میکردم و پیام منتاسب رو نمایش میدادم ولی الان ها تو خود کنترل اعتبارسنجی میکنم با

$this->validate($request,['title'=>'max:191'])

الان این روش مشکل امنیتی ندار؟


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
0

سلام
@emperatur133

دوره نمیدونم توی مستندات لاراول و یه سری دوره های خارجی روش های استاندارش توضیح داده شده
این موردی که شما گفتید
هم تو کنترلر میشه اعتبار سنجی کرد و ارورش رو برگردوند هم میشه یه رکوئست براش اوکی کرد به صورت جدا
توی لاراول روش ها و راه حل ها زیاده !
اینکه کدوم رو در چه جایی استفاده کنید و کد رو بهینه کنید مهم هست.
یه چند مورد پروژه بزنید همه این موارد دستتون میاد اصلا.
نگرانش نباشید. :-)
موفق باشید


hossein
تخصص : توسعه دهنده
@emperatur133 5 سال پیش مطرح شد
0

@Alimotreb

یه مورد گفتین که :
سطح دسترسی متد ها توی کنترلر
رو رعایت کنم

من متد های درج و ویرایش و نمایش و حذف رو همه مثلا
public function index
میزنم
این کار اشتباست؟
تقریبا همه متد هایی که درست میکنم اولش همین public function رو میزنم ولی اگه بخوام سطح دسترسی بدم اون کنترلر اول

public function __construct()
    {
        $this->middleware('adminMiddle');
    }

میزنم

میشه نظرتون رو بدین


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
1

سلام
@emperatur133

ببینید توی لاراول همونطور که گفتم راه زیاده
عمدتا برای اعمال میدلور
به روت میدن میدل ور رو.اینطوری هم مشکلی پیش نمیاد
متد های درج و ... اینا همه public هستند بله
ولی متد خاصی داشتید
کلاس خاصی داشتید ، حتما پرایوت یا از نوع دیگه ای استفاده کنید و ارث بری هاش رو بررسی کنید
یه سری مباحث شی گرایی دخیل هست که باید مسلط بود روشون
همه این کد ها در نهایت کار میدن
اما اینکه چه کدی مناسب چه کاری هست
تشخیص شما هست.
پیشنهاد میکنم از سایت های خارجی ، سورس هاشون رو بگیرید و ببینید
سورس خونی کنید
نحوه کد زدنشون رو ببینید
توی همین سایت راکت هم دوره های خوبی برای لاراول هست ببینید ، عمیق بشید توش ، همچین مشکلاتی دیگه نخواهید داشت


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام