برگزیده های پرشین تولز

سوال در مورد امنیت سایت

sshaffafi10

کاربر تازه وارد
تاریخ عضویت
24 سپتامبر 2007
نوشته‌ها
32
لایک‌ها
1
سلام دوستان.خسته نباشید.
من یه سایت نوشتم که یه قسمت مدیریت داره.ولی اگر کسی تو آدرس بار
آدرس manager.aspx/ رو وارد کنه راحت میتونه به قسمت مدیریت
دسترسی پیدا کنه.میشه کمک کنید؟
 

Graveworm

Registered User
تاریخ عضویت
23 می 2005
نوشته‌ها
1,071
لایک‌ها
12
محل سکونت
Tehran
سلام دوستان.خسته نباشید.
من یه سایت نوشتم که یه قسمت مدیریت داره.ولی اگر کسی تو آدرس بار
آدرس manager.aspx/ رو وارد کنه راحت میتونه به قسمت مدیریت
دسترسی پیدا کنه.میشه کمک کنید؟
خوب این بخش مدیریت شما، login نداره ؟؟
 

m3hrz4d

Registered User
تاریخ عضویت
21 سپتامبر 2005
نوشته‌ها
620
لایک‌ها
1
محل سکونت
اصفهان
شما از چه سیستمی واسه Login استفاده میکنی؟ Session ؟
 

miladkdz

کاربر تازه وارد
تاریخ عضویت
30 آگوست 2003
نوشته‌ها
172
لایک‌ها
0
سن
35
محل سکونت
Tehran, Ekbatan
دوست عزیز! با یه کم تغییر تو فایل web.config و آشنایی با Role manager و User Identification میتونید از قدرت بسیار زیاد ASP.net استفاده کنید!

اگه میخواین کتاب بهتون معرفی کنم.
 

sshaffafi10

کاربر تازه وارد
تاریخ عضویت
24 سپتامبر 2007
نوشته‌ها
32
لایک‌ها
1
اکسسه ولی از سشن استفاده نکردم.حالا لطفا راهنمایی منید.
 

sshaffafi10

کاربر تازه وارد
تاریخ عضویت
24 سپتامبر 2007
نوشته‌ها
32
لایک‌ها
1
دوست عزیز! با یه کم تغییر تو فایل web.config و آشنایی با Role manager و User Identification میتونید از قدرت بسیار زیاد ASP.net استفاده کنید!

اگه میخواین کتاب بهتون معرفی کنم.
ممنون می شم اگه کتاب معرفی کنید.
 

Graveworm

Registered User
تاریخ عضویت
23 می 2005
نوشته‌ها
1,071
لایک‌ها
12
محل سکونت
Tehran
ببینین شما با یه سیستم لاگین میاید دسترسی عمومی از یه سری صفحه رو قطع میکنین.
به این صورت که اقراد برا ورود به صفحه های خاص، بایستی اعتبار سنجی بشن.
شما تو صفحه لاگین، user pass وارد شده رو با database چک میکنی..
اگه اشتباه بود که هیچ. اگه درست بود، میای براش یه اعتبار، میسازی تا وب سایت شما بدونه این کاربر، کسی هست که با User password درست، از سیستم لاگین شما گذشته، و حق داره صفحات private رو ببینه

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

این کار رو باید بعد از موفقیت آمیز بودن عمل لاگین ، انجام بدی. معمولا با کوکی ها یا session میتونی انجام بدی..
 

sshaffafi10

کاربر تازه وارد
تاریخ عضویت
24 سپتامبر 2007
نوشته‌ها
32
لایک‌ها
1
ببینین شما با یه سیستم لاگین میاید دسترسی عمومی از یه سری صفحه رو قطع میکنین.
به این صورت که اقراد برا ورود به صفحه های خاص، بایستی اعتبار سنجی بشن.
شما تو صفحه لاگین، user pass وارد شده رو با database چک میکنی..
اگه اشتباه بود که هیچ. اگه درست بود، میای براش یه اعتبار، میسازی تا وب سایت شما بدونه این کاربر، کسی هست که با User password درست، از سیستم لاگین شما گذشته، و حق داره صفحات private رو ببینه

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

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

Graveworm

Registered User
تاریخ عضویت
23 می 2005
نوشته‌ها
1,071
لایک‌ها
12
محل سکونت
Tehran
من این کارا رد انجام دادم.فقط از session استفاده نکردم.حالا اگه از سشن استفاده کنم دیگه کسی نمیتونه وارد شه؟
اگر اینطوریه لطف کنید سشنو به من یاد بدید.

بعد از کدهایی که توسط اون ها، کاربر رو verify کردی و حالا اجازه عبور داره این خط رو بنویس :

کد:
Session.Contents("IsAllowed") = "yes"
response.redirect("adminpage or what ever!")

حالا در صفحاتی که میخوای فقط کسی که لاگین کرده ببینه
درPage Load اینجوری چک کن:

کد:
if  Session.Contents("IsAllowed") <> "yes"  then
response.redirect("accessdenied.aspx")
end if

حالا اگه کسی لاگین نکرده باشه ، session مربوطه براش ساخته نشده . و حالا میخواد وارد صفحات ادمین بشه، شرط اول صفحه براش صدق نمیکنه و به صفحه accessdenied.aspx میره.
البته .net روش های جدید و دیگری رو هم برا Authentication, Authorization داره . البته این روش که گفته شد ساده هست و کاراییش رو داره :)
 

sshaffafi10

کاربر تازه وارد
تاریخ عضویت
24 سپتامبر 2007
نوشته‌ها
32
لایک‌ها
1
بعد از کدهایی که توسط اون ها، کاربر رو verify کردی و حالا اجازه عبور داره این خط رو بنویس :

کد:
Session.Contents("IsAllowed") = "yes"
response.redirect("adminpage or what ever!")

حالا در صفحاتی که میخوای فقط کسی که لاگین کرده ببینه
درPage Load اینجوری چک کن:

کد:
if  Session.Contents("IsAllowed") <> "yes"  then
response.redirect("accessdenied.aspx")
end if

حالا اگه کسی لاگین نکرده باشه ، session مربوطه براش ساخته نشده . و حالا میخواد وارد صفحات ادمین بشه، شرط اول صفحه براش صدق نمیکنه و به صفحه accessdenied.aspx میره.
البته .net روش های جدید و دیگری رو هم برا Authentication, Authorization داره . البته این روش که گفته شد ساده هست و کاراییش رو داره :)
آقا خیلی ممنون.فقط من یادم رفت بگم که پروژم با سی شارپه.شرمنده.اگه دو باره راهنمایی کنید ممنون می شم.
 

Graveworm

Registered User
تاریخ عضویت
23 می 2005
نوشته‌ها
1,071
لایک‌ها
12
محل سکونت
Tehran
آقا خیلی ممنون.فقط من یادم رفت بگم که پروژم با سی شارپه.شرمنده.اگه دو باره راهنمایی کنید ممنون می شم.

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


کد:
Session.Contents["IsAllowed"] = "yes";
        Response.Redirect("adminpage or what ever!");


کد:
protected void Page_Load(object sender, EventArgs e)
    {

        if  ( Session.Contents["IsAllowed"] != "yes" ) {

            Response.Redirect("accessdenied.aspx");
        }
    }
 

sshaffafi10

کاربر تازه وارد
تاریخ عضویت
24 سپتامبر 2007
نوشته‌ها
32
لایک‌ها
1
آقایون واقعا از راهنماییتون ممنونم.
 

sshaffafi10

کاربر تازه وارد
تاریخ عضویت
24 سپتامبر 2007
نوشته‌ها
32
لایک‌ها
1
آقایون واقعا دستتون درد نکنه.متشکرم.
 
بالا