PDA

View Full Version : برقراری امنیت در پروژه mvc



نیکناز
سه شنبه 15 مرداد 1392, 21:40 عصر
سلام
من تو پروژه ام در جاهای مختلف به کاربر اجازه می دم که کد اچ تی ام ال دلخواه اش رو وارد کنه.
با این حساب پس میتونه هر چیزی وارد کنه و این امنیت رو تهدید می کنه.
من چه جوری امنیت سایتمو تضمین کنم.
به هر حال این امکان برای کاربر در نظر گرفته شده .

hakim22
چهارشنبه 16 مرداد 1392, 09:14 صبح
خطرناکترین نوع حمله ی ممکن XSS است. که ***ر میتونه در متن نوشته ها بجای HTML کدهای JavaSctipt وارد کنه .
اگر شما برای نمایش اطلاعاتی که کاربر وارد میکنه از html.raw@ استفاده کنید دست ***ر رو کاملا باز گذاشتید.

بهترین راه استفاده از AntiXSSLibrary هستش . در nuget میتونید با جستجوی AntiXSS پیداش کنید.

نوشته هایی که کاربر سایت وارد میکنه باید از فیلتر Sanitizer.getSafeHtmlFragment عبور بدید :


comment=Sanitizer.GetSafeHtmlFragment(Comment);


بعد به صورت raw نمایش بدید

- این کتابخانه کارش اینه که یک لیست سفید از تگهای html داره و فقط اونهارو از متنی که بهش میدید عبور میده .

younesdoost
چهارشنبه 16 مرداد 1392, 12:23 عصر
یه نکته ی دیگه هم اینکه تو اون اکشنی که متن دریافت میشه استفاده از [ValidateInput(false)] هم یک حفره ی امنیتی می تونه ایجاد بکنه.بهتره فقط همون Property از مدلتون که مربوط به متن میشه رو بالاش اتریبیوته [AllowHtml] رو بیارید که فقط همون فیلد مجاز به وارد کردن HTML باشه.