PDA

View Full Version : سوال: آیا امکان دسترسی به مقادیر در حال ارسال و یا دریافت شی XmlHttpRequest برای نفوز گر وجود دارد???



aminghaderi
جمعه 11 تیر 1389, 23:45 عصر
با سلام و ارادت.
مدیران عزیز (اساتیدم) من بخش با عنوان امنیت در توسعه وب سایت رو پیدا نکردم ، در صورتی که تاپیک نیاز به جابجایی دارد ،ممنون می شم این کار رو انجام دهید.

سوالم این هست که آیا امکان دسترسی به مقادیر در حال ارسال و یا دریافت شی XmlHttpRequest برای نفوز گر وجود دارد???
یعنی امکان تغیر پارامتر ها به دست او وجود داره؟؟؟
درصورت مثبت بودن پاسخ ، تدابیر امنیتی برای جلوگیر از نفوز چگونه صورت می گیره؟؟

با کمال تشکر.

Behrouz_Rad
جمعه 11 تیر 1389, 23:53 عصر
هم در قسمت XHR از پنل Net افزونه ی Firebug و هم با Fiddler می تونی Packet ها رو ببینی.
ارسال درخواست از طریق AJAX هم نوعی ارسال معمولی هست با این تفاوت که فقط داده های مورد نیاز ارسال میشن نه کل صفحه. بنابراین اگر کاربر با AJAX درخواستی رو به منبعی ارسال کنه که اون منبع برای دریافت اون درخواست نیاز به تصدیق هویت کاربر داره، درخواست دریافت نمیشه.

موفق باشید.

aminghaderi
شنبه 12 تیر 1389, 03:52 صبح
ممنون از راهنماییتان استاد.

برای دریافت اون درخواست نیاز به تصدیق هویت کاربر داره
اگر سمت سرور چک شود که کاربر لوگین کرده یا خیر آیا کافیست؟؟
برای لوگین کاربر به سیستم ، بعد گرفتن رمز عبور ، رمز در سمت سرور توسط کلیدی Encrypt می شه و با نمونه رمز Encrypt شده ، که در هنگام ساختن حساب کاربری تولید شده و داخل پایگاه ذخیره است ، مقایسه می شه و بعد کلمه True به نشانه ورود کاربر در متغیری از سشن ذخیره می شود.
آیا استراتژی تشخیص هویتی که استفاده می کنم ، راه مطمئنی هست؟؟؟؟؟
درهم سازی(کلید رمز + کلمه رمز) = یه رشته کلمه انگلیسی بین 50 تا 100 کاراکتر.

با سپاس فراوان.

Behrouz_Rad
شنبه 12 تیر 1389, 08:03 صبح
سوال دوم شما با سوال اولتون کاملاً متفاوته!
به هر حال...
سیستم تصدیق هویت دات نت در حالتی که از FormsAuthentication یا Membership استفاده می کنی، به اندازه ی کافی هوشمند هست که اگر کاربر قصد دسترسی به منبعی رو داشته باشه که نیاز به تصدیق هویت داره و کاربر تصدیق هویت نشده باشه، این اجازه رو نده.

من احساس می کنم که کمی در درک مبحث تصدیق هویت در ASP.NET دچار اشتباه شدید.
سیستم تصدیق هویت به ازای هر درخواست، بررسی وجود کوکی تصدیق هویت رو بررسی می کنه و در صورتی که وجود داشت، به درخواست اجازه ی عبور میده، در غیر اینصورت اون رو Reject و کاربر رو به صفحه ی لوگین هدایت می کنه. مثل خرید بلیت برای ورود به سینما.
نباید کلمه ی عبور کاربر رو در کوکی ذخیره کنید. این کار لزومی نداره.

موفق باشید.

aminghaderi
شنبه 12 تیر 1389, 13:36 عصر
سوال دوم شما با سوال اولتون کاملاً متفاوته!بله عذر خواهی می کنم استاد ، سوالی بود که در رابطه با همین موضوع برام پیش آمد و حقیقت به روش حفظ امنیتم شک کردم ، و چون شما متخصص حفظ امنیت در asp .net هستید ، گفتم روش رو توضیح بدم ، تا در صورت اشتباه بودن استراتژی حفظ امنیت ، روشم رو عوض کنم.


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

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


نباید کلمه ی عبور کاربر رو در کوکی ذخیره کنید. این کار لزومی نداره.کلمه عبور فقط در پایگاه ذخیره می شود و اون هم فقط در زمان ثبت کاربر و یا تغیر کلمه عبور.

ارادتمند شما

aminghaderi
شنبه 12 تیر 1389, 23:47 عصر
ظاهرا پاسخ قبلی رو بد نوشتم چون اصلا سوال پرسشی وجود نداره؟!:اشتباه:
استاد راد من درست متوجه نشد که آیا این روش امنیتی که استفاده می کنم ، روش قابل اطمینانی هست یا خیر؟؟
ممنون می شم یه راهنمای کوچک بفرمایید.

با تشکر فراوان.

Behrouz_Rad
شنبه 12 تیر 1389, 23:51 عصر
ظاهرا پاسخ قبلی رو بد نوشتم چون اصلا سوال پرسشی وجود نداره؟!:اشتباه:
استاد راد من درست متوجه نشد که آیا این روش امنیتی که استفاده می کنم ، روش قابل اطمینانی هست یا خیر؟؟
ممنون می شم یه راهنمای کوچک بفرمایید.

با تشکر فراوان.
بله پرسشی وجود نداشت. :چشمک:
از Session استفاده نکنید. Session به دلایل مختلفی ممکنه ناخودآگاه از بین بره. ضمن اینکه ماندگار هم نیست. کوکی ماندگاره. از روش تصدیق هویت ASP.NET پیروی کنید.

موفق باشید.