Eine Referenz auf ein Objekt erforderlich ist für das nicht statische Feld, die Methode oder die Eigenschaft " System.Web.UI.Seite.Sitzung."
Ich bin immer Fehler wie
Eine Referenz auf ein Objekt erforderlich ist für das nicht statische Feld, die Methode oder die
die Eigenschaft " System.Web.UI.Seite.Sitzung.get'
Können Sie mir empfehlen um dieses problem zu beheben in der Sitzung.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Services;
using System.Configuration;
using System.Data.SqlClient;
using System.Web.SessionState;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
//Onclick Submit Button
[WebMethod(EnableSession = true)]
//[System.Web.Services.WebMethod(EnableSession = true)]
public static string Login(string email, string password)
{
var con = new SqlConnection(ConfigurationManager.ConnectionStrings["blogConnString"].ConnectionString);
con.Open();
string res = "0";
SqlDataReader reader;
string sql = "select uid,username from personal where email='" + email + "' and password='" + password + "'";
SqlCommand cmd1 = new SqlCommand(sql, con);
reader = cmd1.ExecuteReader();
while (reader.Read())
{
res = "1";
Session["UID"] = reader["uid"].ToString(); //error line here
Session["UNAME"] = reader["username"].ToString(); //error line here
}
return res;
con.Close();
}
}
Bitte verwenden Sie
parameterized queries
. Diese Art von string-Verkettungen sind offen für SQL Injection
- Angriffe. Und using
statement entsorgen Sie Ihre SqlConnection
, SqlCommand
und SqlDataReader
.
InformationsquelleAutor Angelina | 2014-03-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, diesen code und bitte-ware, SQL-Injection zu verhindern, die Verwendung einer Parametrisierten Abfrage wie folgt:
InformationsquelleAutor Aftab Ahmed
Machen Sie nicht Ihre Methode statisch. Es muss nicht statisch sein, und es verhindert, dass Sie mithilfe einer nicht-statischen Eigenschaften (wie
Session
). Machen es:Auch nicht verketten SQL-Abfragen, vor allem mit den Werten, die aus der UI. Dies lässt Sie anfällig für SQL-injection. Verwenden SQLParameters.
InformationsquelleAutor Szymon
können Sie es verwenden, für eine variable einfügen, die zu der Sitzung :
sind und nicht die Verwendung statischer
InformationsquelleAutor facariel