PDA

View Full Version : جلوگیری از بارگذاری صفحات



Hossein Bazyan
چهارشنبه 11 مهر 1386, 10:12 صبح
سلام
فرض کنید سایت ما دارای چندین صفحه است و صفحه اصلی هم لوگین میباشد . من میخوام کاربران فقط از طریق صفحه لوگین وارد سایت شود و اگر اسم صفحات را در آدرس بار نوشتند صفحه لود نشود مانند کد زیر در PHP

defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );

مثلا اگر صفحه لوگین ما اسمش باشد Login.aspx و صفحات دیگر Page1.aspx تا ... PageN.aspx میخوام اگر کاربر آدرس زیر را در آدرس بار نوشت


www.MySite.com/Page1.aspx (http://www.MySite.com/Page1.aspx)

این صفحه لود نشده و پیغام Access denied صادر شود

Behrouz_Rad
چهارشنبه 11 مهر 1386, 10:48 صبح
راه "استانداردش" اینه که از FormsAuthentication استفاده کنی و مقدار خاصیت loginUrl تگ forms رو در Web.Config به نام صفحه ی لوگینت تنظیم کنی.

موفق باشید.

merlin_vista
چهارشنبه 11 مهر 1386, 22:19 عصر
میشه درباره این موضوع بیشتر توضیح بدین !!

Behrouz_Rad
چهارشنبه 11 مهر 1386, 22:33 عصر
یکی از راه های تصدیق هویت، Forms Authentication هست که تا زمانی که کاربر تصدیق هویت نشده باشه، به منابعی که برنامه نویس اجازه نمیده نمیشه دسترسی داشت.
loginUrl آدرس صفحه ای هست که در صورتی که کاربر تصدیق هویت نشده باشه و منبعی رو درخواست کنه که نیاز به تصدیق هویت داشته باشه، به اون هدایت میشه.

موفق باشید.

c#_web
شنبه 14 مهر 1386, 14:45 عصر
من توی برنامه ام که به اینکار نیاز داشتم از سشن استفاده کردم که در لود هر فرم بررسی میکند اگر قبلاً وارد شده پس سشن خالی نیست پس میتواند به فرم مورد نظر برود در غیر اینصورت به فرم login میرود.
کدام روش بهتر است؟ و اساساً چه فرقی میکنند؟

Neo Persian
شنبه 14 مهر 1386, 17:08 عصر
من توی برنامه ام که به اینکار نیاز داشتم از سشن استفاده کردم که در لود هر فرم بررسی میکند اگر قبلاً وارد شده پس سشن خالی نیست پس میتواند به فرم مورد نظر برود در غیر اینصورت به فرم login میرود.
کدام روش بهتر است؟ و اساساً چه فرقی میکنند؟
این روش یه مشکل داره

اگه مثلا 100 صفحه داشته باشی باید توی همه این صفحه ها کد مربوط به چک کردن Session رو بنویسی ( البته راه بهتری هم هست) و احیانا مجبور به تغییر کد شدی باید توی تک تک صفحه ها این کد رو تغییر بدی

به نظر من اگر از ASP.net استفاده میکنیم پس بهتره از قابلیت هایی که در اختیارمون گذاشته استفاده کنیم