تبلیغات
مقالات آموزشی برنامه نویسی و شبکه - مطالب آموزش امنیت در asp.net

چک لیست امنیتی پروژه های نرم افزاری تحت وب

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

ابتدا اجازه دهید مقداری با حملات آشنا شویم و سپس راه مقابله را در کنار هم بررسی نماییم. (با نت نیک همراه باشید)

مهمترین و خطرناک ترین حملات سطح وب:

حمله XSS

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

حال هکر به راحتی کوکی رو روی مرورگر خودش تنظیم می کنه و بعد وارد سایت شما میشه، سیستم شما اونو با کاربر شما اشتباه می گیره و با راحتی هکر به اطلاعات پنل کاربری کاربر(ان) شما دست پیدا می کنه.


حمله SQL Injection

این حمله معروفترین حمله است که تقریبا با قدرت می تونم بگم که درتکنولوژی ASP.Net با امکانات فوق العاده ای که بصورت توکار در دات نت در نظر گرفته شده است ، بصورت کامل به فراموشی سپرده شده است. فقط 2 تا نکته ریز هست که باید در کداتون رعایت کنین و تمام

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


حمله CSRF

این حمله یکی از جالت ترین و جذاب ترین نوع حملات است که هوش بالای دوستان هکر رو نشون میده. عبارت CSRF مخفف Cross Site Request Forgery است. (احتمالا دوستان ام وی سی باز این عبارت براشون آشناست.)

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

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


حمله Brute Force

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

مقالات آموزشی دانشجویی برنامه نویسی و الکترونیک و شبکه

حمله DDOS

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

حملات دیگری هم هست که الان حضور ذهن ندارم و انشالاه در آینده این پست کامل تر و به یکی از مراجع مهم برنامه نویسان تبدیل میشه. کامنت های شما رو با روی باز می پذیریم


حمله SHELL

شل فایلی است خطرناکه اگر روی سرور سایت شما آپلود و اجرا شود، هکر از طریق آن دسترسی کامل به کل سرور سایت شما خواهد داشت.

ابنجاست که باید شدیدا مراقب فایل هایی که روی سایت شما آپلود می شوند باشید.


حمله SNIFF

در این نوع حملات هکر پکت های رد و بدل شده بین کاربران شما و سرور شما را شنود می نماید و به راحتی می تواند اطلاعات مهمی مثل نام کاربری و رمز عبور کاربران شما را بدست آورد.



چک لیست امنیتی پروژه های نرم افزاری تحت وب

  1. بررسی کامل ورودی های دریافتی از فرم های سایت، هم در سمت کلاینت و هم در سطح سرور. >> حمله XSS
  2. حتما در فرم های عمومی سایتتان از تصویر کپچا با امنیت بالا استفاده نمایید. >> حمله Brute Force
  3. حتما سیستم شخصی سازی صفحات ارور را فعال نمایید و از نمایش صفحات ارور حاوی اطلاعات مهم مانند صفحات ارور ASP.Net جلوگیری نمایید.
  4. استفاده از ORM ها یا استفاده از پروسیجرهای پارامتریک >> حمله SQL Injection
  5. لاگ کردن ارورهای سطح کد و سطح روتینگ >> حمله SQL Injection
  6. جلوگیری از ایندکس شدن صفحات لاگین مدیریت سایت
  7. لاگ کردن ورود و خروج افراد
  8. امن سازی سرویس های ای جکس و چک کردن  ای جکس بودن درخواست ها
  9. محدود کردن سرویس های حساس به درخواست های POST
  10. عدم استفاده از آی دی در پنل های کاربران بالاخص در آدرس صفحات (کویری استرینگ) و ..استفاده از کد غیر قابل پیش بینی مثل GUID و حتی الامکان بررسی مالکیت داده ها در همه بخش ها جهت محکم کاری بیشتر (خدای نکرده کاربر با تغییر ادرس نتومه به داده های یک کاربر دیگه دسترسی داشته باشه)
  11. حتی الامکان جداسازی فیزیکی پنل مدیران از کاربران جهت محکم کاری
  12. استفاده از الگوریتم های کدگذاری ترکیبی و کد کردن اطلاعات حساس قبل از ذخیره سازی در دیتابیس
  13. ساخت پروژه بصورت چند لایه
  14. اشتراک گذاری اینترفیس در سرویس های خارج برنامه ای و عدم اشتراک گذاری کلاس اصلی
  15. استفاده از تکنیک های مقابله با CSRF در همه سرویس های POST. در ام وی سی اتریبیوت AntyForgery استفاده گردد. >> حمله CSRF
  16. استفاده از سیستم های مدیریت نقش امن مانند IDENTITY در ام وی سی و یا استفاده از امکانات توکار دات نت در سیستم های مدیریت نقش شخصی سازی شده ( Custom Role Provider ها)
  17. بررسی فرمت و پسوند فایل های آپلود شده
  18. استفاده از تکنیک های لاگین چند سطحی برای پنل ادمین (در این روش شما حتی با داشتن نام کاربری و کلمه عبور ادمین، قادر نخواهید بود وارد پنل ادمین شوید)
  19. تنظیم iis  جهت جلوگیری از اجرای فایل های اجرایی در مسیر اپلود فایل ها >> حمله SHELL
  20. آپلود فایل ها در پوشه  App_Data و  دسترسی به فایل ها از طریق سرویس های خود شما.  این پوشه امن است و دسترسب مستقیم از طریق ادرس بار مرورگر به فایل های درون ان توسط iis داده نمی شود و ملت فقط می تونن از طریق سرویس های خود شما به فایل ها دسترسی داشته باشن و بدین صورت در اکشن می تونین با Cast کردن فایل ها به نوع خودشون (تصویر. پی دی اف یا ...) هکر رو نا امید کنین >> حمله SHELL
  21. استفاده از  SSL بسیار اهمیت دارد. بالاخص اگر Service Oriented کار می کنین و سرویس هایی برای اپلیکیشن های خارجی مثل اپلیکیشن اندروید و ... دارین. این مورد در صفحات لاگین نیز بسیار مهم است و باعث می شود نام کاربری و کلمه عبور کاربران شما بصورت هش شده بین کامپیوتر کاربر و سرور شما رد و بدل شود و عملا شنود پکت ها فایده ای برای هکر نخواهد داشت.  >> حمله SNIFF


* نسخه کامل تر مقاله رو می تونین از ایــــنــــــجـــــــــــا مطالعه نمایید.

نوشته شده در تاریخ پنجشنبه 8 مرداد 1394    | توسط: ح.م    | طبقه بندی: آموزش امنیت در asp.net،     | نظرات()


آموزش افزایش امنیت سایت - جلوگیری از آپلود شل بروی سایت

فایل شل فایلی است که در صورتی که روی یک هاست (سرور) آپلود شود ، به هکر دسترسی کامل به کلیه اطلاعات روی سرور را می دهد ، بصورتی که گویی هکر سرور رو مال خودش کرده !
بدین صورت هکر از طریق فایل شل و با بهره مندی از کاماندهای ویندوزی و یا لینوکسی می تواند به راحتی روی سرور حرکت کند و هر کاری که دلش می خواد روی فایل های موجود بر روی سرور انجام دهد!!!

آپلود شل بر روی سایت یکی از خطرناک ترین روش های حمله هکرها به سایت ها می باشد.
در این نوع حملات هکرها فایل شل را به راحتی از طریق FileUpload های موجود بر روی سایت به روی سرور (هاست) آپلود می نماید!!!
این موضوع بالاخص در آپلود سنترها و سایت هایی که به کاربرانشان امکان آپلود فایل می دهند شدت می گیرد.
برای جلوگیری از این حمله باید 2 روش را استفاده نمایید:

1- بررسی پسوندهای مجاز جهت آپلود فایل
(در زمان آپلود باید فرمت دقیق فایل را بررسی و از آپلود فایل با فرمت های خطرناک جلوگیری نمایید.)

2- جلوگیری از اجرای فایل های غیر مجاز بر روی سرور
در این روش شما در مسیر های حساس سایتتون (مثل پوشه ای که فایلا رو دارین توش آپلود می کنین) اجازه اجرای فایل های مخرب رو نمیدین ، بدین صورت حتی اگر شل هم توی این مسیر ها آپلود بشه ، اجرا نخواهد شد ....

در آموزش قبلی (آموزش بررسی پسوندهای مجاز فایل ها در asp.net) روش اول را کاملا شرح دادم.
در این آموزش جلوگیری از اجرای فایل های غیرمجاز بر روی سرور را آموزش خواهم داد.

نوشته شده در تاریخ پنجشنبه 19 دی 1392    | توسط: ح.م    | طبقه بندی: آموزش امنیت در asp.net،     | نظرات()


آموزش بررسی پسوندهای مجاز فایل ها در asp.net

در بسیاری از موارد نیاز است که کاربر و یا مدیر سایت ، یک سری فایل بر روی سایت آپلود نماید ، حال این فایل می تواند یک تصویر  ، یک سند متنی ، یک فایل فشرده و یا یک فایل ویدئویی باشد.

در این موارد برنامه نویس حتما می بایست پسوند فایل را بررسی نماید و اجازه آپلود هر نوع فایلی را ندهد.


در asp.net برای بررسی پسوند فایل ها چندین راه وجود دارد که در اینجا یکی از این راه ها را آموزش خواهیم داد :

به کد زیر توجه کنید :


در این کد ما یک آرایه ایجاد کرده ایم و تمامی انواع فایلی (MIME TYPES) مجاز را درون آن قرار داده ایم ، سپس تمامی آرایه را درون یک متغیر از نوع StringCollection ریخته ایم و در پایان با کمک تابع Contains به راحتی پسوند فایل را بررسی نموده ایم.

این راه حلی است که همکار بنده از اون استفاده می کنه.

یکی از مشکلات کد بالا این است که شما باید MIME TYPE ها را بلد باشید و همچنین نحوه عملکرد تابع Contains در حاله ای از ابهام است و باید حتما حسابی این تابع رو چک کنید و ببینید که در مقابل همه نوع فایلی درست عمل می کنه یا نه . (البته اینو برای این گفتم که خودم تا حالا با این تابع کار نکردم و کارکردشو نمی تونم بهتون تضمین بدم)

سایت نت نیک

در ادامه راه حل دیگری که بنده خودم ازش توی کارام استفاده می کنم رو بهتون آموزش میدم:
به کد زیر توجه کنید:



بنده یک کلاس استاتیک ساخته ام و درون اون یک پراپرتی استاتیک ایجاد کرده ام.
درون متد get این پراپرتی ، یک لیست جنریک از نوع استرینگ (<List<string) تعریف کرده ام که درون آن با استفاده از تابع Add تک تک پسوند های مجاز را درونش اضافه می کنم.
دقت کنید که در اینجا ما صحبتی از MIME TYPE نزدیم و شما فقط با پسوند فایل ها سرو کار دارین.

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

در ادامه من لیست جنریکم رو return می کنم.

در این کلاس یک تابع دارم که نام یک فایل رو می گیره و بعد روی لیست جنریکم حرکت می کنه و پسوند فایل رو با تک تک خونه های داخل لیست تطابق میده و در صورتی که تطابقی پیدا شد مقدار true و در غیر اینصورت مقدار false رو برمی گردونه.


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

تا آموزشی دگر بدرود.
سوالاتتونو تو بخش نظرات و یا در انجمن سایت مطرح کنین.

------------------------------------
آپدیت :

جناب آقای رضا کیا این مطلب رو ارسال نمودند که در جهت تکمیل این آموزش اینجا قرارش میدم:

سلام

نکته اوّل:
تابع Contains رو اصلا بهش شک نکن!
این تابع تمام حالتهای ضرب دکارتی مجوعه اصلی و مجموعه قیاس رو چک میکنه

برای همین برای مجموعه های بزرگ اصلا بهینه نیست.

نکته دوّم:
روش همکارت خیلی بهتره! چون با روش خودت امکان Shell Upload رو بوجود میاری، روش خودت درست مثل این میمونه که اجازه بارگذاری هر فایلی رو بدی!! جزییاتش رو تو وب دنبال کن
با این کلید واژه Shell Upload attack

نکته سوّم:
از این دستور تک خطی به جای کل تابع میتونی استفاده بکنی
سرعت اجراش کمی «کمی فقط» بیشتر و بهتره
خوانایی هم البته بیشتر داره



اگه سوالی بود بهم ایمیل بزن
آموزش خوبی بود :)
موفق باشی و سربلند

----------------------------------------
پاسخ بنده به ایشون:
 سلام
خیلی ممنون از راهنماییت ، دستت طلا.
به مطلب خیلی مهمی اشاره کردی.
با توجه به صحبت شما میشه به این نتیجه رسید که کد بنده فقط پسوند رو چک می کنه ولی کد شما و کد همکارم داره ماهیت کامل فایل رو چک می کنه که مطمئنا روش شما و همکارم خیلی بهتر از روش بنده است و به بالاخص از جنبه امنیتی نیز بسیار مهم است.
با تشکر.

نوشته شده در تاریخ جمعه 3 خرداد 1392    | توسط: ح.م    | طبقه بندی: آموزش ASP.NET، آموزش امنیت در asp.net،     | نظرات()


آموزش جلوگیری از حمله xss در asp.net

سلام

معمولا هرجا از ادیتور استفاده می کنیم ، مجبوریم که validation request صفحه رو غیر فعال کنیم.

یکی از نکات خیلی مهم اینه که در اینجور صفحاتی که شما  validation request صفحه رو غیر فعال کردین


همیشه یادتون باشه که ورودی هاتون رو بصورت htmlEncode بگیرین.


اینجوری علامت های خطرناکی مثل  >  یا  <  به عبارات بی خطری مثل   &gt;  و &lt;  تبدیل میشن که خاصیت اجرا شدن ندارن وفقط خاصیت نمایش دارن.


پی نوشت :

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


asp.net بصورت پیش فرض محتوای تمامی تکست باکس ها رو چک می کنه و با دیدن عبارات خطرناک ، کلا اجازه postBack  شدن صفحه رو نمیده  ، ولی گاهی نیاز دارین که این خاصیت رو بصورتی که گفتیم غیر فعال کنیم.

البته در نسخه 4 asp.net بنده به ضخصه دیدم که حتی وقتی $ یا # توی تکست باکسی نوشته میشه ، صفحه ارور validate میده !

که این خودش داستانیه !

برای اینکه مثلا کاربرای سایتتون اینحوری نمی تونن پسوردای با ضریب امنیتی بالا با کمک کاراکترهای خاص برای خودشون انتخاب کنن ...

نوشته شده در تاریخ شنبه 5 اسفند 1391    | توسط: ح.م    | طبقه بندی: آموزش امنیت در asp.net،     | نظرات()


بزرگترین اشتباه امنیتی برنامه نویسان asp.net

با سلام

در مقاله قبل  آموزش جلوگیری از حمله xss در asp.net رو آموزش دادم و آموختید که چگونه سایت خود را در مقابل حملات xss ایمیل کنید در مقاله قبل از آن نیز
5 اشتباه امنیتی خطرناک برنامه نویسان وب با asp.net رو بیان کردم و در آن آموختید که قبل از منتشر کردن سایت خود باید چه تنظیماتی را انجام دهید و مهم ترین اشتباهات امنیتی برنامه نویسان asp.net رو آموختید.

همانطور که می دانید امنیت سایت یکی از بزرگترین دغدغه های هر برنامه نویس وب است ، چه بسا بیش از 60 درصد زمان مصرف شده جهت طراحی یک وب سایت ، صرف برقراری امنیت آن می شود.

مسلما هیچ برنامه نویسی از روی قصد باگ (حفره امنیتی) روی سایت خود قرار نمی دهد ، بلکه اغلب برنامه نویسان از باگ های امنیتی سایت خود بی خبرند و با خیال راحت سایت خود را بر روی بستر اینترنت منتشر می نمایند.

جالب است بدانید که بسیاری از برنامه نویسان asp.net فرم های ثبت نام را فقط و فقط با کنترل های validator چک می نمایند و در سمت کد نویسی سرور ، اصلا اطلاعات دریافت شده از فرم را بررسی نمی نمایند ؟!

بعنوان مثال بسیاری از برنامه نویسان فرم نظرات سایت خود را بدون بررسی در دیتابیس ذخیره می نمایند و گمان می کنند که وقتی فرم را با کنترل های validator چک می کنند ، دیگر همه چیز تمام شده است !
برخی نیز با توابع جاوا اسکریپت فرم های خود را بررسی می نمایند ،
غافل از اینکه چه از کنترل های Validator خود asp.net  و چه از توابه جاوا اسکریپت برای بررسی اطلاعات فرم هایشان استفاده نمایند ، از آنجایی که هر دو این موارد وابسته به جاوا اسکریپت است ، اگر کاربر جاوا اسکریپت مرورگر خود را غیر فعال نماید ، به راحتی می تواند کد های مخرب را از طریق فرم ها به دیتابیس شما ترزیق نماید

جالب است بدانید که بسیاری از برنامه نویسان asp.net هنوز با مفهوم لایه بندی نا آشنا هستند و هنوز که هنوزه کانکشن استرینگ خود را درون فایل web.config ذخیره می نمایند !
غافل از اینکه در صورتی که یک هکر سرور را بزند ، به راحتی می تواند اطلاعات دیتابیس شما را از داخل فایل web.config بخواند و دیتابیس شما را با خاک یکسان نماید.

ولی در بحث لایه بندی ، اطلاعات دیتابیس به همراه برخی توابع بصورت یک لایه (لایه data access) در می آیند و در زمان انتشار سایت ، بصورت یک فایل DLL کاملا بسته بر روی هاست منتظر می شوند.

حتی برخی از برنامه نویسان هنوز صفحات سایت های خود را کد نمی کنند و بصورت معمول بر روی سرور قرار می دهند ، به این دسته پیشنهاد می شود در زمینه روش های انتشار (publish) وب سایت های asp.net تحقیق نمایند.
در روش های جدید حتی کد های html صفحات هم DLL می شود ، بصورتی که خود برنامه نویس هم نمی تواند محتوای کد های html  و کد های نوشته شده در صفحات code behind  و .... را مشاهده نماید (کلا dll می شود و توی dll رو نمیشه دید!)

امنیت در asp.net - netnic.ir
امیدوارم که از این آموزش هم لذت برده باشید

تا آموزشی دگر بدرود

نت نیک . آی آر

نوشته شده در تاریخ سه شنبه 20 فروردین 1392    | توسط: ح.م    | طبقه بندی: آموزش امنیت در asp.net،     | نظرات()


5 اشتباه امنیتی خطرناک برنامه نویسان وب با asp.net

 امنیت صفحات وب ، یکی از دغدغه های هر برنامه نویس وب است
برنامه نویسان وب اغلب با اصول اولیه برقراری امنیت در وب سایت های خود آشنایی ندارند  در این میان با توجه به اینکه مایگروسافت برخی تمهیدات را بصورت پیش فرض در نظر می گیرد (مانند چک نمودن خودکار اطلاعات کوئری استرینگ ها و جلوگیری از حمله sql injection) برنامه نویسان asp.net دارای امنیت بیشتری نسبت به برنامه نویسان php و زبان های سورس باز هستند
با این حال در صورتی که برنامه نویسان asp.net دقت کافی را در کد نویسی های خود نداشته باشند ، دو دستی اطلاعات حساسی را به هکران تقدیم نموده اند.

جالب اینجاست که هنوز بسیاری از برنامه نویسان به حداقل کارهای مورد نیاز جهت امن نمودن اطلاعات حساس برنامه خود آشنایی ندارند.

لذا در ادامه مطلب 5 اشتباه امنیتی خطرناک برنامه نویسان وب با asp.net که می توان با کمی آموزش آنها را برطرف نمود را با هم یاد خواهیم گرفت. (راه های رفع این باگ های امنیتی رو هم آموزش میدم)

امنیت در asp.net - netnic.ir

نوشته شده در تاریخ چهارشنبه 2 اسفند 1391    | توسط: ح.م    | طبقه بندی: آموزش امنیت در asp.net،     | نظرات()


ایجاد تصویر امنیتی کپچا در asp.net با کمک کنترل قدرتمند ReCaptcha گوگل!

با سلام

یکی از مشکلات امنیتی سایت ها ، اتصال روبات ها به فرم های سایت و ارسال اطلاعات بیهوده (اسپم) می باشد ، بدین صورت اگر در بخش نظرات ، بخش لاگین ، بخش فراموشی کلمه عبور و دیگر نقاط حساس سایت خود (بخش هایی که قرار است فرمی توسط کاربران عادی پر شود) از تصویر امنیتی (کپچا) استفاده نکنید ، هکر ها به راحتی یک روبات میندازن روی سایتتون و یهو می بینین هر ساعت دارین 3000 تا نظر اسپم دریافت می کنین !

در آموزش قبلی (  کتابخانه NetNicCapchaPro ایجاد تصاویر امنیتی حاوی متن اتفاقی (CAPTCHA) )  یکی از کتابخانه های دست ساز خودم رو معرفی کردم و روش استفاده از اون رو هم آموزش دادم .

یکی از سرویس های جالب گوگل (برای ما برنامه نویسا) ، سرویس ReCaptcha است.
سرویس ReCaptcha گوگل کاملا رایگان است بوسیله این سرویس می توانید به راحتی یک کد کپچا با امنیت بسیار بالا ، بدون نیاز به کد نویسی های زیاد ایجاد نمایید.

در ادامه مطلب ، طریقه استفاده از این سرویس رو یاد خواهیم گرفت

نوشته شده در تاریخ چهارشنبه 8 آذر 1391    | توسط: ح.م    | طبقه بندی: آموزش امنیت در asp.net،     | نظرات()


امکانات جدید در asp.net 4 و ویژوال استودیو 2010 - بخش دوم

در مقاله امکانات جدید در asp.net 4 و ویژوال استودیو 2010 - بخش اول برخی از امکانات جدید در Asp.net 4 رو بیان کردم ، در این مقاله ادامه امکانات رو خواهم گفت :
امکانات جدید در asp.net 4 و ویژوال استودیو 2010 - netnic.ir

  • jQuery و Ajax :

در نسخه جدید کتابخانه پرطرفدار و محبوب jQuery به عضوی از خانواده اضافه شده است و در هنگام ایجاد یک پروژه جدید به صورت پیشفرض آخرین ورژن jQuery در پروژه شما حضور خواهد داشت .

  • مایکروسافت CDN :

Microsoft Ajax Content Delivery Network  یا شبکه تحویل محتوای آژاکس مایکروسافت به شما این امکان را می دهد که کتابخانه های معروف جاوا اسکریپت مانند jQuery را به سادگی به پروژه اضافه نمایید :

علاوه بر این شما میتوایند به تنظیم ScriptManager تمامی درخواست های Ajax را به مایکروسافت ارسال نموده و با این کار باعث افزایش بازدهی وب سایت خود شوید ، فقط کافیست خاصیت CDN را فعال نمایید :

  • Extensible Output Caching :

همانطور که میدانید در نسخ قبلی امکان Cache کردن صفحات در حافظه وجود داشت و شما میتوانستید به سادگی با اضافه کردن یک تگ Output-Cache در صفحه یا در Web.Config از این امکان بهره مند شوید .

در نسخه جدید این امکان فراهم شده که شما یک یا چند Output-Cache اختصاصی ایجاد نمایید و برای صفحات و کنترل های مختلف از آنها استفاده کنید ، این امکان به شما اجازه می دهد تا مانور بیشتری برای کش کردن اطلاعات در حافظه داشته باشید تا از حافظه به بهترین نحو استفاده شود .


نوشته شده در تاریخ سه شنبه 7 آذر 1391    | توسط: ح.م    | طبقه بندی: آموزش امنیت در asp.net،     | نظرات()