PDA

View Full Version : سوال: آیا امکان تغیر کد Html سایتی که بروی مرورگر باز هست وجود دارد؟؟



aminghaderi
شنبه 12 تیر 1389, 00:26 صبح
با سلام و ارادت.
امروز هنگام کار با Ajax متوجه شدم که اگر کاربر به هر نحوی بتونه کد های سمت کلاینت رو دستکاری کنه در فرستادن پارامتر ها اختلال به مجود می یاد ، حالا فرض رو بر این گذاشتم که کاربر می تونه کد های Html سمت کلاینت رو هم تغیر بده و مشکلش رو حل کردم.
منظورم از کد های Html کدی است که توسط مرور گر قابل نمایش هست(راست کلیک=>View Page Source).
حالا سوال من اینه که آیا کاربر (کاربر حرفه ای یا همون نفوزگر خودمان) امکان دسترسی به کد html سایت رو داره و می تونه دستکاریش کنه؟؟ و پارامتر ها رو تغییر بده؟؟؟
مثلا دسترسی به حافظه مرور گر داشته باشه؟؟؟

سپاسگزارم.

pestilencia
شنبه 12 تیر 1389, 00:58 صبح
حالا سوال من اینه که آیا کاربر (کاربر حرفه ای یا همون نفوزگر خودمان) امکان دسترسی به کد html سایت رو داره و می تونه دستکاریش کنه؟؟ و پارامتر ها رو تغییر بده؟؟؟


جواب سوالت در حالت کلی مثبت‌ه، ولی با این پیش‌فرضی که مطرح کردی *مطلقا* غیرممکنه!

یه هکر به هر ترتیبی *اگه و فقط اگه* به فایل‌سرور شما به صورت فیزیکی دسترسی داشته باشه می‌تونه فایل‌ها رو تغییر/حذف و ... بکنه.

ولی اون چیزی که تو براوزر از سورس صفحه وب می‌بینی چیزی نیست غیر از Response که وب‌سرور با اون برنامه‌ای که نوشتی داره روی شبکه می‌فرسته تا به براوزر کلاینت برسه. و صرفا براوزر اون رو Interpret می‌کنه که قابل *دیده‌شدن* تو براوزر باشه. شما با دیدن سورس صفحه تو براوزر *هیچ‌گونه* کنترلی روی اون صفحه به صورت فیزیکی روی سرور نداری! کما اینکه تو فایرفاکس، کروم به عنوان نمونه این سورس اصولا Read Onlyه و شما حتا اون رو هم تغییر نمی‌تونی بدی.

پیشنهاد می‌کنم که یه سری مطلب راجع به HTTP (http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol) و Request - Response (http://en.wikipedia.org/wiki/Request-response) بخونی.

eyes_shut_number1
شنبه 12 تیر 1389, 01:13 صبح
میتونه سشن رو های جکت کنه که توی سایت در موردش بحث شده.
اما این که کد رو دستکاری کنه تا به سرور دست پیدا نکنه نمی تونه.
بهتره در هنگام ورود اطلاعات جلوی کد های جاوا اسکرپت رو بگیری که دچار حمله XSS نشی

aminghaderi
شنبه 12 تیر 1389, 03:30 صبح
ممنون عزیزان ولی مشکل من وارد شدن نفوزگر به سرور نیست؟!
برنامه ای که من دارم روش کار می کنم اکثر کارهای مدیریتش با استفاده از Ajax Core انجام می شه و در ابتدای صفحه های مدیریتی رویداد pageload دسترسی مدیران از سمت سرور چک شده و Permission های اون لیست شده و به کلاینت فرستاده می شه؟!
حالا سمت کلاینت ، مثلا برای یک بخشی من نیاز دارم به سرور کانکت شم ؟! و می خوام طبق انتخاب کاربر index شماره 3 یکی از Select های صفحه (select یکی از المنت های html که معادل Asp می شه DrupDownList ها) رو از طریق اجکس به سرور بفرستم .
حالا اگه کاربر بتونه بجای index 3 گزینه index 6 رو در پارامتر های سورس جابجا کنه ؟!
گزینه 6 به سرور ارسال می شه و باعث خطا می شه چون گزینه 6 وجود نداره؟!
البته این یه مثال بود که برای راحتی رساندن منظورم مطرح کردم والا همون 6 رو می شه سمت سرور اعتبار سنجی کرد که اصلا همچین گزینه ای وجود داره یا خیر و....
مهم اینجاست که ما باید دقیق بدونیم که ایا کاربر می تونه به داخل مرورگر نفوز کنه و کد ها رو دستکاری کنه تا توابع اجکس به خوبی نتونند کار کنند؟! که اگر این صور باشه تدابیر امنیتی رو پیاده سازی کنیم.
ممنون از توضیحاتون واقعا استفاده بردم ، روی این موردی هم که گفتم خوشحال می شم نظراتتون رو بدونم.
ارادتمند.