امنیت در ASP.NET

امنیت در ASP.NET

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


هنگام کدنویسی لازم است که رهنمون‌های ذیل رو در خاطر داشته باشید :


1- هیچگاه به ورودی‌های کاربر اعتماد نکنید
هر کاربر رو یک دشمن در نظر بگیرید تا اینکه خلاف آن به شما ثابت شود . بنابراین همیشه ورودی‌های کاربر را اعتبار سنجی کنید . کدتون رو طوری بنویسید که تنها داده‌های معتبر رو بپذیرد و لاغیر . در ASP.NET علاوه بر کنترل‌های Validtion که به صورت Client-Side عمل میکنند ، به صورت Server-Side نیز داده‌های ورودی کاربر را Validate کنید ، چون همیشه این امکان هست که در مرورگر کاربر Java-Script غیر فعال کرده باشد و Client-Side Validation عمل نکند .


2-هیچگاه از الحاق یا اتصال رشته‌ها برای ایجاد یک کوئری SQL استفاده نکنید
در واقع انجام دادن اینکار مساوی است با باز گزاشتن راه برای حملات SQL Injection . همیشه از دستورات مبتنی بر پارامتر استفاده کنید مثل Stored Procedure‌ها . هرچند که همه Stored Procedure‌ها در برابر حملات SQL Injection مقاوم نیست . LINQ 2 SQL به خودی خود تا حد بسیار زیادی در برابر SQL Injection مقاوم ست .


3-هیچگاه داده‌های وارد شده توسط کاربر را قبل از اینکه اعتبار سنجی کنید یا encode کنید به صورت مستقیم در صفحه وب به نمایش نگزارید .
کاربر میتواند کدهای جاوااسکریپتی مخرب را از طربق فرم‌های ورودی به وب سایت شما وارد کند و این باعث آسیب پذیری وب سایت شما از طریق حملات XSS یا Cross Site Scripting شود . بنابراین همیشه از متد HttpUtility.HtmlEncode() استفاده کنید .


4-هیچگاه داده‌های حیاتی و مهم را در Hidden field‌ها ذخیره نکنید
Hidden field‌ها براحتی قابل خواندن و تغیر هستند ، کاربر میتواند براحتی با دیدن Source صفحه شما مقدار Hidden field‌ها را بخواند ، آن را تغیر دهید و در فایل ذخیره کند . در این حالت فرد نفوذگر کافی است که فرم ذخیره شده را به سرور ارسال کند . پلاگین یا Add-on‌های هستند که اینکار رو بسیار ساده میکند ، به سادگی ایمیل زدن .


5-هیچگاه داده‌های حیاتی و مهم را در ViewState ذخیره نکنید
ViewState نیز یک مدل دیگر از Hidden field است که مایکروسافت اختصاصا در ASP.NET Web form‌ها استفاده کرده است . مایکروسافت View state رو با ASP.NET عرضه کرد برای اینکه برنامه نویسی وب رو شبیه به برنامه نویسی ویندوز کند و با اینکار خیل عظیمی از برنامه نویسان ویندوز از ASP.NET Web form‌ها استفاده کردند . اگر چه ViewState را نمیتوان به راحتی تغیر داد ولی به راحتی میشود آن را خواند.


6- هنگامی که از ASP.NET Form Authentication استفاده میکنید SSL را فعال کنید .
SSL برای مخفی کردن داده‌ها مهمی مثل کلمه عبور ، شماره کارت اعتباری و … بسیار مهم است . در واقع با ایمن کردن کانال ارتباطی مرورگر و وب سرور ، احتمال نفوذ و شنود داده‌ها توسط نفوذگر را بسیار کم میکنید . نکته جالب اینجاست که SSL در ISS ست میشود و با برنامه نویسی شما هیچ تداخلی نخواهد داشت . تنها در ابتدای آدرسها یک s به انتهای http اضافه میشود


7-از کوکی هایتان محافظت کنید .
همیشه از Authentication Cookie هایتان در زمان استفاده از Form Authentication محافظت کنید و زمانی Time-out را تا جایی که امکان دارد کوتاه ست کنید . و تنها تا اندازه ای طولانی باشد که لازم باشد و نه بیشتر .


8-از SSL استفاده کنید .
به طور کلی اگر برنامه کاربری وب شما داده‌های مهمی را پردازش میکند . کل وبسایت رو با SSL ایمن کنید.

 

منبع : م.دیندار

  • تاریخ و ساعت انتشار :
    19:31       1395/11/12
  • تعداد بازدید :
    198
  • نویسنده :
    رضا ابوالحسنی
  • پسندیده :

کلمات کلیدی

Asp.net

امنیت



خواص گل گاو زبان را بدانیم ؟

گاهی اوقات سرفه‌های فصل سرما را هیچ قرص و شربتی درمان نمیکند اما تجویز یک جوشانده سنتی مانند گل گاوزبان به صورت مرهمی قوی عمل خواهد کرد. ترکیبات شیمیایی موجود در گلگاوزبان شامل ساپونین، موسیلاژ، رزینها، تاننها، کلسیم، پتاسیم و ویتامین C است و در بعضی کشورها آن را داخل سالاد میریزند. گلگاوزبان را به صورت تازه یا خشک، به شکل دمکرده یا جوشانده میتوان مصرف کرد.