PDA

View Full Version : گفتگو: امنیت گذاری صفحه های کاربری و صفحه های لاگین



M.KH-SH
دوشنبه 03 بهمن 1390, 12:43 عصر
بخش تست خودم که داشتم روش روش ها رو قرار میدادم رو یک جا push کردم و عملا نشون بدم که مشکل چیه

http://mkhsh.somee.com/default.aspx

مشکل اول:::

روی دکمه google.com زمانی که کلیک میشه به جای اینکه به سایت گوگل بره فقط آدرس رو در قسمت بالایی صفحه نمایش میده

کد استفاده شده::::
1
Response.Write("http://google.com (http://google.com/)")





مشکل دوم اینه که کاربر بدون وارد کردن اطلاعات میتونه به صفحه home.aspx وارد بشه و صفحه خوام رو ببینه و دیگه از اون صفحه نمیتونه خارج بشه چون دوباره همین مشکل شماره 1 برمیخوره

مشکل سوم اینه که برای امنیت گذاری از کوکی ها استفاده کردم و نام کاربر و کلمه عبور اونو در صورت صحیح بودن وارد 2تا کوکی به نام های user و pass میکنم و در اونجا ذخیره میشه

زمانی که صفحه home.aspx باز شد باید این 2 کوکی رو با اطلاعات بانک خودش چک کنه و در صورت صحیح بودن در این صفحه باقی بماند و در صورت نبودن به صفحه اصلی برگرده

حالا من اینا رو پیاده سازی کردم ولی نتیجه با تئوری خیلی تفاوت داره

نام کاربری ::: admin
کلمه عبور ::: 123

پیشاپیش مرسی از راهنمایی شما عزیزان

hamid_shrk
دوشنبه 03 بهمن 1390, 12:50 عصر
1- بجای respone.write از

response.redirect("www.google.com");

استفاده کنید.
2- از RequiredFieldValidator به صورت


<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="txtloginUserName"
class="f-l4" ErrorMessage="اطلاعات را کامل نمایید" ForeColor="Red" ValidationGroup="login"></asp:RequiredFieldValidator>

برای بررسی خالی نبودن تکست باکس ها استفاده کنید.
3-نیازی نیست تو کوکی ذخیره کنید!!!همون وقتی که دکمه ورود رو کلیک کرد بگردید دنبال اطلاعاتش تو دیتا بیس و اگر درست بود با همون response.redirect بفرستیدش به صفحه home

M.KH-SH
دوشنبه 03 بهمن 1390, 13:27 عصر
خوب این روش شما رو انجام دادم ولی یک باگ داره اونم اینه که شما خیلی راحت میتونین حتی بدون اینکه عضو باشین وارد بخش های کاربری بشین
البته هیچ اطلاعاتی رو دریافت نمیکنین

بعد یک سئوال پیش مییاد ::::

در برنامه نویسی تحت ویندوز مییام id بانک فرد مورد نظر رو در یک متغییر public قرار میدم و در یک textbox در صفحه mom و کاربر به راحتی به اطلاعات تعیین شده خودش دسترسی داره
حالا در وب باید چی کار کنیم؟

برای کنترول کردن خالی بودن یا نبودن تکس باکس ها مشکلی ندارم معمولا با کدنویسی در بخش asp این کار رو انجام میدم

مثلا::::

if (!string.IsNullOrEmpty(textbox1.text)) { } else { textbox1.selected(); }

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

مشکل من اینه

مرسی از راهنمایی

M.KH-SH
دوشنبه 03 بهمن 1390, 13:34 عصر
private void cooki(string user_, string pass_) { HttpCookie user = new HttpCookie("user"); HttpCookie pass = new HttpCookie("pass"); user.Expires = System.DateTime.Now.AddDays(1); pass.Expires = System.DateTime.Now.AddDays(1); user.Value = user_; pass.Value = pass_; Response.Cookies.Add(user); Response.Cookies.Add(pass); }

کد کوکی رو به این صورت مینویسم و فراخوانی رو ::::

Response.Cookies("user").value

من در زمینه طراحی وب هیچی نمیدونم لطفا راهنمایی کنین

میخوام بدونم چرا اطلاعات در کوکی مورد نظر من ثبت نمیشه

hamid_shrk
دوشنبه 03 بهمن 1390, 13:38 عصر
مشکلتون اینه که خیلی ویندوزی فکر میکنید.
1- وقتی تو کد چک میکنید فیلدتون خالی نباشه کاربر رو دکمه کلیک میکنه و صفحه رفرش میشه و این با توجه به اینهمه کنترل فاجعه محسوب میشه.
2- کی گفته کاربر هرجایی میتونه بره؟
ادامه : شما میتونی یک جدول role درست کنی و دسترسی کاربران به بخش های مختلف رو تعیین کنید و سپس :
بعد از لاگین username رو تو یک session ذخیره کنید (بجای اون متغیر public تو ویندوز اپلیکشن) و تو لود مستر پیجتون یا اگه از مستر پیج استفاده نمیکنید تو لود هر صفحتون بررسی کنید کاربر به اون صفحه دسترسی داره یا خیر!!

M.KH-SH
دوشنبه 03 بهمن 1390, 13:43 عصر
میشه در مورد session توضیح بدین

من خیلی تازه کار هستم تو طراحی وب و از مستر ها درست نمیتونم استفاده کنم
فعلا این بخش امنیت برنامه از همه چیز بیشتر برام مهمتر هست


یک سئوال جداگانه::::

کد برای وارد کردن مقدار به کوکی و فراخوانی اون درست هست یا نه؟؟؟

اگه درسته چرا کوکی سریع از بین میره در حالی که Expires رو 1روز تعیین کردم سریع میپره و اصلا به صفحه بعد نمیرسه و ریست میشه :دی

(لطفا بزارین رو حساب بی تجربه بودن من)

hjran abdpor
دوشنبه 03 بهمن 1390, 14:32 عصر
دوست عزیز سلام.
من دو سه تا از تاپیک های شما را نگاه کردم اکثر در مورد StateMangment در وب بود است ، خیلی د راین مورد تو سایت بحث شده لطفا برای شروع به وب سایت اقای دلشاد مراجعه کنید و تو قسمت ارشیو در این مورد بسیار مفصل و زیبا توضیح داده است .
با تشکر.
www.how2learnasp.net