واضی فایل

دانلود کتاب، جزوه، تحقیق | مرجع دانشجویی

واضی فایل

دانلود کتاب، جزوه، تحقیق | مرجع دانشجویی

مقاله. اصول امنیت برنامه های وب

لینک دانلود و خرید پایین توضیحات

فرمت فایل word  و قابل ویرایش و پرینت

تعداد صفحات: 126

 

اصول امنیت برنامه های وب اینترنت و به دنبال آن وب ، دنیای نرم افزار را دستخوش تحولات فراوانی نموده است . ظهور نسل جدیدی از برنامه های کامپیوتری موسوم به "برنامه های وب " از جمله این تحولات عظیم است . پس از ارائه سرویس وب در سال 1991، وب سایت های متعددی ایجاد گردید .  اینگونه سایت ها به منظور ارائه اطلاعات به مخاطبان خود از صفحات وب ایستا استفاده می کردند . در چنین وب سایت هائی ، امکان تعامل کاربر با برنامه وجود نداشت .با توجه به این که رویکرد فوق با ماهیت و یا روح  نرم افزار چندان سازگار نمی باشد ، تلاش های گسترده ای در جهت ایجاد محتویات پویا انجام و متعاقب آن ، فن آوری های متعددی ایجاد گردید . به عنوان نمونه ، با پیاده سازی فن آوری CGI ( برگرفته از Common Gateway Interface  ) ، امکان استفاده از برنامه های خارجی به منظور تولید محتویات پویا فراهم گردید . بدین ترتیب ، کاربران قادر به درج اطلاعات و ارسال آنها برای یک برنامه خارجی و یا اسکریپت سمت سرویس دهنده شدند . برنامه موجود در سمت سرویس دهنده پس از دریافت اطلاعات و انجام پردازش های تعریف شده ، نتایج را تولید و آنها را برای کاربر ارسال می نمود .رویکرد فوق ،‌ به عنوان نقطه عطفی در برنامه های وب تلقی می گردد چراکه برای اولین مرتبه امکان تولید محتویات پویا در وب سایت ها فراهم گردید . از آن زمان تاکنون فن آوری های متعددی به منظور تولید برنامه های وب ایجاد شده است .  PHP و ASP.NET نمونه هائی در این زمینه می باشند .  صرفنظر از این که از کدام فن آوری به منظور ایجاد برنامه های وب استفاده می گردد ، ایمن سازی آنان از جمله اهداف مشترک تمامی پیاده کنندگان است .

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

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

برداشت های غیرواقعی از امنیت برنامه های وب متاسفانه به دلیل عدم شناخت لازم در خصوص ماهیت برنامه های وب از یک طرف و از سوی دیگر عدم آشنائی لازم با مفاهیم امنیت  ،‌ شاهد برداشت های نادرست در خصوص امنیت برنامه های وب می باشیم . اجازه دهید به چند نمونه در این خصوص اشاره نمائیم :

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

ما ایمن هستیم چون از  SSL ( برگرفته ازSecure Sokets Layer ) استفاده می نمائیم .  SSL برای رمزنگاری ترافیک موجود بر روی شبکه یک گزینه ایده آل است ولی قادر به بررسی داده ورودی یک برنامه نمی باشد .

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

 با رد امنیت یک سیستم عامل نمی توان امنیت یک سیستم عامل دیگر را تائید نمود. ( من خوبم چون شما بد هستید ! )

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

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

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



خرید و دانلود مقاله. اصول امنیت برنامه های وب


تحقیق: افزایش کارآئی برنامه های وب در ASP NET 2 0

لینک دانلود و خرید پایین توضیحات

فرمت فایل word  و قابل ویرایش و پرینت

تعداد صفحات: 117

 

افزایش کارآئی برنامه های وب در ASP.NET 2.0  یکی از ملزومات کلیدی در هر نوع برنامه کامپیوتری میزان کارائی و قابلیت پاسخگوئی سریع آن به کاربران است . طراحان و  پیاده کنندگان برنامه های کامپیوتری می بایست در زمان طراحی ، پیاده سازی و نوشتن کد به این موضوع توجه جدی داشته باشند. برنامه های وب با توجه به ماهیت و رسالت خود می بایست قادر به ارائه خدمات مورد نیاز  به صدها و یا هزاران متقاضی همزمان به سادگی و با سرعت مطلوب باشند. به عبارت دیگر ، همزمان با افزایش کاربران نمی بایست شاهد افت سرعت و کارآئی یک برنامه وب باشیم .  با ارائه فریمورک دات نت و به دنبال آن ASP.NET ، پیاده سازی یک برنامه وب بطرز ناباورانه ای ساده شده است . همین موضوع باعث شده است که  طراحان و پیاده کنندگان بیشتر در اندیشه طراحی و پیاده سازی سریع برنامه های وب باشند و به مسائل مربوط به کارآئی برنامه کمتر توجه نمایند . پیاده کنندگان برنامه های وب با استفاده از  فناوری ASP.NET می بایست با بکارگیری مجموعه ای از ترفندها ، فناوری ها و رعایت برخی نکات کلیدی اقدام به پیاده سازی برنامه های وب با کارآئی بالا نمایند . در این مقاله و سایر مقالاتی که در آینده منتشر خواهد شد قصد داریم به برخی از روش های موجود به منظور طراحی و پیاده سازی یک برنامه وب کارآ اشاره نمائیم . بدین منظور بر روی سه محور اساسی زیر متمرکز خواهیم شد :

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

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

پیاده سازی سیستم caching : با پیاده سازی سیستم caching در سطوح متفاوت و caching داده می توان  کارآئی برنامه های وب را بطرز کاملا" محسوسی افزایش داد. در این بخش به نحوه پیاده سازی سیستم caching در برنامه های وب اشاره خواهیم کرد .

در ادامه بر روی اولین محور متمرکز و به بررسی مسائل مرتبط با آن خواهیم پرداخت  .

طراحی برای کارآئی توجه و رعایت موارد زیر پیاده کنندگان را در جهت پیاده سازی برنامه های وب با کارآئی بالا کمک خواهد کرد  :

مکانیزم ترجمه کد در ASP.NET برنامه های نوشته شده با استفاده از ASP.NET دارای کارآئی بمراتب بیشتری نسبت به برنامه های نوشته شده با استفاده از ASP کلاسیک می باشند . این دستاورد ناشی از ترجمه اتوماتیک کد در ASP.NET است . در صفحات قدیمی نوشته شده با استفاده از ASP کلاسیک ، کدها و یا اسکریپت های موجود در یک صفحه برای هر یک از درخواست های کاربران پردازش می گردید . در ASP.NET ، هر کلاس صفحه در اولین مرتبه دستیابی کمپایل و برای درخواست های آتی cache می گردد . زمانی که اولین مرتبه یک کاربر صفحه ای را درخواست می نماید ( و یا اولین مرتبه دستیابی پس از ایجاد تغییرات در صفحه )  ، یک تاخیر قابل ملاحظه در زمان پاسخ به درخواست خود را مشاهده می نماید ( تاخیر ناشی از ترجمه صفحه ) . برای برخورد با این موضوع می توان از روش  precompilation  استفاده نمود . با استفاده از روش فوق پس از استقرار صفحات بر روی سرویس دهنده وب ، بلافاصله امکان درخواست و بازیابی سریع آنها برای متقاضیان فراهم می گردد .

کنترل های سرویس دهنده کنترل های سرویس دهنده عناصر اصلی در یک صفحه ASP.NET می باشند و load زیادی را به برنامه تحمیل نخواهند کرد . این نوع کنترل ها معمولا" دارای کارآئی بمراتب بهتری نسبت به زمانی می باشند که یک صفحه به صورت پویا و با استفاده از ترفندهائی نظیر متد Response. Write خروجی خود را تولید می نماید. در برخی موارد ضرورتی به استفاده از کنترل های سرویس دهنده  ASP.NET در یک صفحه وب نخواهیم داشت . به عنوان نمونه ،‌ در صورتی که دارای یک متن ایستا می باشیم که هرگز ضرورتی به دستیابی و تغییر آن در زمان اجراء و از طریق کد نداریم ، لزومی به استفاده از کنترلی نظیر label نخواهیم داشت . در چنین مواردی می توان به سادگی متن مورد نظر را با استفاده از امکانات HTML در فایل aspx.  قرار داد . در ویژوال استودیو می توان  از کنترل DIV ( موجود در بخش HTML ، منوی Toolbox) استفاده کرد. در واقع ما تکلیف متن مورد نظر جهت نمایش در یک صفحه aspx . را نه در زمان اجراء بلکه در زمان طراحی مشخص کرده ایم  .یکی دیگر از نکات مهم در زمان استفاده از کنترل های سرویس دهنده در صفحات وب ، توجه به رفتار آنها در ارتباط با نگهداری داده پس از ارسال مجدد به سرویس دهنده می باشد . به صورت پیش فرض ، مقادیر مرتبط با کنترل های سرویس دهنده نظیر مقدار درج شده در یک TextBox  ، پس از postback بطور اتوماتیک در view state ذخیره می گردد . در واقع ، view state مکانیزمی برای نگهداری داده کنترل های سرویس دهنده است که  هدف آن غلبه بر محدودیت پروتکل HTTP است ( ماهیت stateless ) .view state ، یک نام مناسب برای ذخیره داده در یک فیلد ورودی مخفی درون صفحه است . پس از  post back ( ارسال مجدد برای‌ سرویس گیرنده ) یک صفحه ، سرویس دهنده قادر به بررسی مقادیر نگهداری شده در view state و استفاده از آنها با توجه به شرایط حاکم بر برنامه می باشد .  view state یک قابلیت عالی است چراکه اجازه  نگهداری وضعیت را با استفاده از امکانات سرویس گیرنده فراهم می نماید و در این رابطه از کوکی و حافظه سرویس دهنده برای ذخیره وضعیت استفاده نمی گردد . تعداد زیادی از کنترل های سرویس دهنده ASP.NET از view state برای نگهداری تنظمیات خود در زمان تعامل با عناصر موجود بر روی صفحه استفاده می نمایند ( مثلا" ذخیره صفحه جاری در



خرید و دانلود تحقیق: افزایش کارآئی برنامه های وب در ASP NET 2 0


تحقیق: اصول امنیت برنامه های وب

لینک دانلود و خرید پایین توضیحات

فرمت فایل word  و قابل ویرایش و پرینت

تعداد صفحات: 126

 

اصول امنیت برنامه های وب اینترنت و به دنبال آن وب ، دنیای نرم افزار را دستخوش تحولات فراوانی نموده است . ظهور نسل جدیدی از برنامه های کامپیوتری موسوم به "برنامه های وب " از جمله این تحولات عظیم است . پس از ارائه سرویس وب در سال 1991، وب سایت های متعددی ایجاد گردید .  اینگونه سایت ها به منظور ارائه اطلاعات به مخاطبان خود از صفحات وب ایستا استفاده می کردند . در چنین وب سایت هائی ، امکان تعامل کاربر با برنامه وجود نداشت .با توجه به این که رویکرد فوق با ماهیت و یا روح  نرم افزار چندان سازگار نمی باشد ، تلاش های گسترده ای در جهت ایجاد محتویات پویا انجام و متعاقب آن ، فن آوری های متعددی ایجاد گردید . به عنوان نمونه ، با پیاده سازی فن آوری CGI ( برگرفته از Common Gateway Interface  ) ، امکان استفاده از برنامه های خارجی به منظور تولید محتویات پویا فراهم گردید . بدین ترتیب ، کاربران قادر به درج اطلاعات و ارسال آنها برای یک برنامه خارجی و یا اسکریپت سمت سرویس دهنده شدند . برنامه موجود در سمت سرویس دهنده پس از دریافت اطلاعات و انجام پردازش های تعریف شده ، نتایج را تولید و آنها را برای کاربر ارسال می نمود .رویکرد فوق ،‌ به عنوان نقطه عطفی در برنامه های وب تلقی می گردد چراکه برای اولین مرتبه امکان تولید محتویات پویا در وب سایت ها فراهم گردید . از آن زمان تاکنون فن آوری های متعددی به منظور تولید برنامه های وب ایجاد شده است .  PHP و ASP.NET نمونه هائی در این زمینه می باشند .  صرفنظر از این که از کدام فن آوری به منظور ایجاد برنامه های وب استفاده می گردد ، ایمن سازی آنان از جمله اهداف مشترک تمامی پیاده کنندگان است .

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

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

برداشت های غیرواقعی از امنیت برنامه های وب متاسفانه به دلیل عدم شناخت لازم در خصوص ماهیت برنامه های وب از یک طرف و از سوی دیگر عدم آشنائی لازم با مفاهیم امنیت  ،‌ شاهد برداشت های نادرست در خصوص امنیت برنامه های وب می باشیم . اجازه دهید به چند نمونه در این خصوص اشاره نمائیم :

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

ما ایمن هستیم چون از  SSL ( برگرفته ازSecure Sokets Layer ) استفاده می نمائیم .  SSL برای رمزنگاری ترافیک موجود بر روی شبکه یک گزینه ایده آل است ولی قادر به بررسی داده ورودی یک برنامه نمی باشد .

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

 با رد امنیت یک سیستم عامل نمی توان امنیت یک سیستم عامل دیگر را تائید نمود. ( من خوبم چون شما بد هستید ! )

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

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

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



خرید و دانلود تحقیق: اصول امنیت برنامه های وب


تحقیق درباره. افزایش کارآئی برنامه های وب در ASP NET 2 0

لینک دانلود و خرید پایین توضیحات

فرمت فایل word  و قابل ویرایش و پرینت

تعداد صفحات: 117

 

افزایش کارآئی برنامه های وب در ASP.NET 2.0  یکی از ملزومات کلیدی در هر نوع برنامه کامپیوتری میزان کارائی و قابلیت پاسخگوئی سریع آن به کاربران است . طراحان و  پیاده کنندگان برنامه های کامپیوتری می بایست در زمان طراحی ، پیاده سازی و نوشتن کد به این موضوع توجه جدی داشته باشند. برنامه های وب با توجه به ماهیت و رسالت خود می بایست قادر به ارائه خدمات مورد نیاز  به صدها و یا هزاران متقاضی همزمان به سادگی و با سرعت مطلوب باشند. به عبارت دیگر ، همزمان با افزایش کاربران نمی بایست شاهد افت سرعت و کارآئی یک برنامه وب باشیم .  با ارائه فریمورک دات نت و به دنبال آن ASP.NET ، پیاده سازی یک برنامه وب بطرز ناباورانه ای ساده شده است . همین موضوع باعث شده است که  طراحان و پیاده کنندگان بیشتر در اندیشه طراحی و پیاده سازی سریع برنامه های وب باشند و به مسائل مربوط به کارآئی برنامه کمتر توجه نمایند . پیاده کنندگان برنامه های وب با استفاده از  فناوری ASP.NET می بایست با بکارگیری مجموعه ای از ترفندها ، فناوری ها و رعایت برخی نکات کلیدی اقدام به پیاده سازی برنامه های وب با کارآئی بالا نمایند . در این مقاله و سایر مقالاتی که در آینده منتشر خواهد شد قصد داریم به برخی از روش های موجود به منظور طراحی و پیاده سازی یک برنامه وب کارآ اشاره نمائیم . بدین منظور بر روی سه محور اساسی زیر متمرکز خواهیم شد :

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

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

پیاده سازی سیستم caching : با پیاده سازی سیستم caching در سطوح متفاوت و caching داده می توان  کارآئی برنامه های وب را بطرز کاملا" محسوسی افزایش داد. در این بخش به نحوه پیاده سازی سیستم caching در برنامه های وب اشاره خواهیم کرد .

در ادامه بر روی اولین محور متمرکز و به بررسی مسائل مرتبط با آن خواهیم پرداخت  .

طراحی برای کارآئی توجه و رعایت موارد زیر پیاده کنندگان را در جهت پیاده سازی برنامه های وب با کارآئی بالا کمک خواهد کرد  :

مکانیزم ترجمه کد در ASP.NET برنامه های نوشته شده با استفاده از ASP.NET دارای کارآئی بمراتب بیشتری نسبت به برنامه های نوشته شده با استفاده از ASP کلاسیک می باشند . این دستاورد ناشی از ترجمه اتوماتیک کد در ASP.NET است . در صفحات قدیمی نوشته شده با استفاده از ASP کلاسیک ، کدها و یا اسکریپت های موجود در یک صفحه برای هر یک از درخواست های کاربران پردازش می گردید . در ASP.NET ، هر کلاس صفحه در اولین مرتبه دستیابی کمپایل و برای درخواست های آتی cache می گردد . زمانی که اولین مرتبه یک کاربر صفحه ای را درخواست می نماید ( و یا اولین مرتبه دستیابی پس از ایجاد تغییرات در صفحه )  ، یک تاخیر قابل ملاحظه در زمان پاسخ به درخواست خود را مشاهده می نماید ( تاخیر ناشی از ترجمه صفحه ) . برای برخورد با این موضوع می توان از روش  precompilation  استفاده نمود . با استفاده از روش فوق پس از استقرار صفحات بر روی سرویس دهنده وب ، بلافاصله امکان درخواست و بازیابی سریع آنها برای متقاضیان فراهم می گردد .

کنترل های سرویس دهنده کنترل های سرویس دهنده عناصر اصلی در یک صفحه ASP.NET می باشند و load زیادی را به برنامه تحمیل نخواهند کرد . این نوع کنترل ها معمولا" دارای کارآئی بمراتب بهتری نسبت به زمانی می باشند که یک صفحه به صورت پویا و با استفاده از ترفندهائی نظیر متد Response. Write خروجی خود را تولید می نماید. در برخی موارد ضرورتی به استفاده از کنترل های سرویس دهنده  ASP.NET در یک صفحه وب نخواهیم داشت . به عنوان نمونه ،‌ در صورتی که دارای یک متن ایستا می باشیم که هرگز ضرورتی به دستیابی و تغییر آن در زمان اجراء و از طریق کد نداریم ، لزومی به استفاده از کنترلی نظیر label نخواهیم داشت . در چنین مواردی می توان به سادگی متن مورد نظر را با استفاده از امکانات HTML در فایل aspx.  قرار داد . در ویژوال استودیو می توان  از کنترل DIV ( موجود در بخش HTML ، منوی Toolbox) استفاده کرد. در واقع ما تکلیف متن مورد نظر جهت نمایش در یک صفحه aspx . را نه در زمان اجراء بلکه در زمان طراحی مشخص کرده ایم  .یکی دیگر از نکات مهم در زمان استفاده از کنترل های سرویس دهنده در صفحات وب ، توجه به رفتار آنها در ارتباط با نگهداری داده پس از ارسال مجدد به سرویس دهنده می باشد . به صورت پیش فرض ، مقادیر مرتبط با کنترل های سرویس دهنده نظیر مقدار درج شده در یک TextBox  ، پس از postback بطور اتوماتیک در view state ذخیره می گردد . در واقع ، view state مکانیزمی برای نگهداری داده کنترل های سرویس دهنده است که  هدف آن غلبه بر محدودیت پروتکل HTTP است ( ماهیت stateless ) .view state ، یک نام مناسب برای ذخیره داده در یک فیلد ورودی مخفی درون صفحه است . پس از  post back ( ارسال مجدد برای‌ سرویس گیرنده ) یک صفحه ، سرویس دهنده قادر به بررسی مقادیر نگهداری شده در view state و استفاده از آنها با توجه به شرایط حاکم بر برنامه می باشد .  view state یک قابلیت عالی است چراکه اجازه  نگهداری وضعیت را با استفاده از امکانات سرویس گیرنده فراهم می نماید و در این رابطه از کوکی و حافظه سرویس دهنده برای ذخیره وضعیت استفاده نمی گردد . تعداد زیادی از کنترل های سرویس دهنده ASP.NET از view state برای نگهداری تنظمیات خود در زمان تعامل با عناصر موجود بر روی صفحه استفاده می نمایند ( مثلا" ذخیره صفحه جاری در



خرید و دانلود تحقیق درباره. افزایش کارآئی برنامه های وب در ASP NET 2 0


تحقیق درباره. اصول امنیت برنامه های وب

لینک دانلود و خرید پایین توضیحات

فرمت فایل word  و قابل ویرایش و پرینت

تعداد صفحات: 126

 

اصول امنیت برنامه های وب اینترنت و به دنبال آن وب ، دنیای نرم افزار را دستخوش تحولات فراوانی نموده است . ظهور نسل جدیدی از برنامه های کامپیوتری موسوم به "برنامه های وب " از جمله این تحولات عظیم است . پس از ارائه سرویس وب در سال 1991، وب سایت های متعددی ایجاد گردید .  اینگونه سایت ها به منظور ارائه اطلاعات به مخاطبان خود از صفحات وب ایستا استفاده می کردند . در چنین وب سایت هائی ، امکان تعامل کاربر با برنامه وجود نداشت .با توجه به این که رویکرد فوق با ماهیت و یا روح  نرم افزار چندان سازگار نمی باشد ، تلاش های گسترده ای در جهت ایجاد محتویات پویا انجام و متعاقب آن ، فن آوری های متعددی ایجاد گردید . به عنوان نمونه ، با پیاده سازی فن آوری CGI ( برگرفته از Common Gateway Interface  ) ، امکان استفاده از برنامه های خارجی به منظور تولید محتویات پویا فراهم گردید . بدین ترتیب ، کاربران قادر به درج اطلاعات و ارسال آنها برای یک برنامه خارجی و یا اسکریپت سمت سرویس دهنده شدند . برنامه موجود در سمت سرویس دهنده پس از دریافت اطلاعات و انجام پردازش های تعریف شده ، نتایج را تولید و آنها را برای کاربر ارسال می نمود .رویکرد فوق ،‌ به عنوان نقطه عطفی در برنامه های وب تلقی می گردد چراکه برای اولین مرتبه امکان تولید محتویات پویا در وب سایت ها فراهم گردید . از آن زمان تاکنون فن آوری های متعددی به منظور تولید برنامه های وب ایجاد شده است .  PHP و ASP.NET نمونه هائی در این زمینه می باشند .  صرفنظر از این که از کدام فن آوری به منظور ایجاد برنامه های وب استفاده می گردد ، ایمن سازی آنان از جمله اهداف مشترک تمامی پیاده کنندگان است .

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

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

برداشت های غیرواقعی از امنیت برنامه های وب متاسفانه به دلیل عدم شناخت لازم در خصوص ماهیت برنامه های وب از یک طرف و از سوی دیگر عدم آشنائی لازم با مفاهیم امنیت  ،‌ شاهد برداشت های نادرست در خصوص امنیت برنامه های وب می باشیم . اجازه دهید به چند نمونه در این خصوص اشاره نمائیم :

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

ما ایمن هستیم چون از  SSL ( برگرفته ازSecure Sokets Layer ) استفاده می نمائیم .  SSL برای رمزنگاری ترافیک موجود بر روی شبکه یک گزینه ایده آل است ولی قادر به بررسی داده ورودی یک برنامه نمی باشد .

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

 با رد امنیت یک سیستم عامل نمی توان امنیت یک سیستم عامل دیگر را تائید نمود. ( من خوبم چون شما بد هستید ! )

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

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

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



خرید و دانلود تحقیق درباره. اصول امنیت برنامه های وب