PDA

View Full Version : سوال: در مورد فرم Login



VB.NET2005
یک شنبه 20 مرداد 1387, 10:57 صبح
با سلام :
دوستان من يه فرم لوگين دارم که با کد زير مقادير کاربر رو ارزيابي ميکنم :


If AUserName.Text = "" Or APassword.Text = "" Then
AUserName.Text = Nothing
APassword.Text = Nothing
AdminError.Text = "لطفا نام کاربري و کلمه عبور را به طور صحيح وارد نماييد"
Else
Dim objMaxId1 As New OleDbCommand
objMaxId1.Connection = connect
objMaxId1.CommandText = "Select Count(*) From Admin Where UserName = '" + AUserName.Text + "' And Pass = '" + APassword.Text + "'"
connect.Open()
Dim MaxId1 As Object = objMaxId1.ExecuteScalar()
If MaxId1 > 0 Then
AdminError.Text = Nothing
Session("Admin") = AUserName.Text
AUserName.Text = Nothing
APassword.Text = Nothing
Response.Redirect("AdminPanel.aspx")
Else
Session("Admin") = Nothing
AUserName.Text = Nothing
APassword.Text = Nothing
AdminError.Text = "نام کاربري و يا کلمه عبور شما نادرست است"
End If
connect.Close()
End If

و در قسمت لود صفحه مدير از کد زير :


If Session("Admin") = Nothing Then
Response.Redirect("Login.aspx")
Else
Welcome.Text = "مديريت محترم : " + Session("Admin") + " خوش آمديد"
End If

و سوالم اينه که چه طور ميتونم از ورود به صفحه مدير جلوگيري کنم هنگامي که کاربر هنوز لوگين نشده ؟
و دوم اينکه : کاربر وارد صفحه مدير شده و هنگام خارج شدن از سايت ، قسمت خروج از سايت رو نميزنه ؟
آخرین سوال : آیا صفحه Login من مشکل Injection داره یا نه ؟

" بــا تــشــکــر فــراوان "

VB.NET2005
یک شنبه 20 مرداد 1387, 21:27 عصر
اساتید نظری ندارند ؟ ؟ ؟

merlin_vista
یک شنبه 20 مرداد 1387, 21:47 عصر
سوالم اينه که چه طور ميتونم از ورود به صفحه مدير جلوگيري کنم هنگامي که کاربر هنوز لوگين نشده ؟براي اينكه چك كني كه هنوز كاربر لوگين نكرده . بايد ببيني كه هنوز سشن ساخته شده است يا نه ؟

if(Session["admin"]==Null)
{
//Error Code :
}
کاربر وارد صفحه مدير شده و هنگام خارج شدن از سايت ، قسمت خروج از سايت رو نميزنه ؟بيشتر توضيح بده منظورت را ؟


آیا صفحه Login من مشکل Injection داره یا نه ؟100% - قسمت لوگين مشكل Injection دارد .

objMaxId1.CommandText = "Select Count(*) From Admin Where UserName = '" + AUserName.Text + "' And Pass = '" + APassword.Text + "'"براي اينكه اين مشكل را نداشته باشد از Sp ها استفاده كن مطمئن تر هست .

VB.NET2005
یک شنبه 20 مرداد 1387, 22:36 عصر
با تشکر :
میخاستم بدونم مثلا : Session admin رو من مقدار دهی کردم اگه کاربر باتتون خروج رو نزنه و Session admin خالی نشه کلا برای سایت مشکل امنیتی پیش میاد یا نه ؟

در ضمن من از این کد در قسمت Admin_PageLoad باید استفاده کنم ؟


if(Session["admin"]==Null)
{
//Error Code :
}
و در آخر : میشه کمی در باره ی SP ها بیشتر توضیح بدید .

merlin_vista
یک شنبه 20 مرداد 1387, 22:42 عصر
میخاستم بدونم مثلا : Session admin رو من مقدار دهی کردم اگه کاربر باتتون خروج رو نزنه و Session admin خالی نشه کلا برا سایت مشکل امنیتی پیش میاد یا نه ؟

معمولا Session يه مقدار Exipier داره كه بعد از اون مدت كه پپيشفرض فكر كنم 20 دقيقه است session از بين ميره و مثل اين هست كه شما session را در دكمه خروج پاك كنيد.


در ضمن من از این کد در قسمت Admin_PageLoad باید استفاده کنم ؟

بله !


و در آخر : میشه کمی در باره ی SP ها بیشتر توضیح بدید .

جستجو كن . !!

VB.NET2005
سه شنبه 22 مرداد 1387, 14:12 عصر
دوستان میشه کمی در مورد SP ها بیشتر توضیح بدید . . .

Search هم کردم ولی به نتیجه نرسیدم .

با تشکر

merlin_vista
سه شنبه 22 مرداد 1387, 14:47 عصر
sp يا Stored Procedures :
شما دستورات SQL را داخلStored Procedures در SQL مينويسيد و آنها را در برنامه خود فراخاني ميكنيد .

براي اطلاعات بيشتر به لينك هاي زير مراجعه كنيد :
http://www.google.com/search?hl=fa&q=Stored+Procedures&btnG=%D8%AC%D8%B3%D8%AA%D8%AC%D9%88%D9%8A+Google&lr=lang_fa


http://www.srco.ir/Articles/DocView.asp?ID=389

VB.NET2005
سه شنبه 29 مرداد 1387, 16:35 عصر
با تشکر

دوستان امکانش هست یه نمونه سورس یا کد که مشکل Injection نداشته باشه رو اینجا بزاریــن ؟

milade
چهارشنبه 30 مرداد 1387, 08:26 صبح
سلام
select count(*) from admin where user=@user and pass=@pass
حالا پاس پارامتر
objMaxId1.parametrs.add("@user",ausername.text)
objMaxId1.parametrs.add("@pass",apassword.text)
موفق باشی
بای

سار
چهارشنبه 30 مرداد 1387, 08:42 صبح
http://search.msdn.microsoft.com/Default.aspx?query=SQL+Injection&brand=msdn&locale=en-us&refinement=