PDA

View Full Version : logincheck page asp.net



parmis
پنج شنبه 17 اسفند 1385, 15:19 عصر
با سلام و خسته نباشید
من یه مشکلی در مورد asp.net دارم اگه ممکنه کمکم کنید و در مورد متغیر rs برام توضیح بدید من در صفحه ی ورودی سایت که یوزر و پسورد کاربر را بررسی می کنه و در صورت درست بودن آن به سایت لاگین میشه توی کدها ی این صفحه مشکل داشتم که کد زیر را از جایی کمک گرفتم ولی برنامه، rs را error میده .
لطفا کمکم کنید که rs را چطور در برنامه تعریف کنم.
:گریه:
UID = Request.Form("userID")
PWD = Request.Form("password")

query = "SELECT * FROM users WHERE UID = '" & UID & "' AND PWD = '" & PWD & "'"

rs.open(query, connection)

If rs.EOF Then
Response.Write("Login Failed!")
Else
Response.Write("Login Successful!")
End If
لطفا کمکم کنید و جوابمو بدید.

__H2__
پنج شنبه 17 اسفند 1385, 16:14 عصر
سلام
عزیز جان! این کد که شمکا دارید یک کد پکیده مربوط به asp است و بهتر است از نمونه کلاسس های جدید asp.net استفاده کنید، چیزی شبیه زیر (البته این کد به SQl Server وصل میشود و شما باید ConnectionString را با توجه به شرایط خودتان عوض کنید.)

مثلاَ




Dim IsValidUser AsBoolean
Using dbCon AsNew System.Data.SqlClient.SqlConnection("Data Source=(local);AttachDbFilename=|DataDirectory|\da tabase.mdf;Integrated Security=True")
Using dbCom AsNew System.Data.SqlClient.SqlCommand("SELECT COUNT(*) FROM Users WHERE (UID='" & Me.TextBox1.Text & "' AND PWD='" & Me.TextBox2.Text & "'", dbCon)
Try
Call dbCon.Open()
IsValidUser = (CInt(dbCom.ExecuteScalar) > 0)
Catch ex As Exception
IsValidUser = False
EndTry
EndUsing
EndUsing


در این کد اگر کاربرتان مجاز باشد IsValidUser=True

Alireza_Salehi
پنج شنبه 17 اسفند 1385, 18:19 عصر
این روش از لحاظ امنیتی مشکل داره!
هیچ وقت مستقیما پارامتر های کوئری رو با اتصال String ها ایجاد نکنید، یا SP یا Parameters یا حداقل قبلش از Validation استفاده کنید!

Building Secure ASP.NET Pages and Controls (http://msdn2.microsoft.com/en-us/library/aa302426.aspx)