【发布时间】:2013-11-14 18:45:43
【问题描述】:
我有一个 Web 应用程序(在 VS2008 C# ASP.NET 3.5 Framework 中)。在我的登录页面中有一个函数 CheckLogin() 执行登录功能。我使用了远程网络服务。 objWeb 是该 Web 服务的对象。 WebService_CheckLogin 是我的远程 Web 服务中的一个 Web 方法。数据库连接字符串写在我的 websservice 的类文件中。
public DataSet CheckLogin()
{
string username = Convert.ToString(txtUname.Text);
string password = Convert.ToString(txtPassword.Text);
return objWEB.WebService_CheckLogin(username,password);
}
我的网络服务中的网络方法
[WebMethod]
public DataSet WebService_CheckLogin(string uname,string pswd)
{
c.connect();
DataSet ds = new DataSet();
SqlCommand cmd = new SqlCommand("sp_verifyuser", c.con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Username", uname);
cmd.Parameters.AddWithValue("@Password", pswd);
c.getdataset(cmd, ref ds);
return ds;
}
我在 webservice 中的连接类
public void connect()
{
if (con.State == ConnectionState.Open)
{
con.Close();
}
con.ConnectionString="Data Source=xxxxxxx;Initial Catalog=xx;User ID=xx;Password=xxxx";
con.Open();
}
我的问题是“安全方面有什么问题吗”?我的意思是“任何人都可以通过其网址访问我的网络服务”吗?我有许多其他网络方法,其中我将字符串作为参数传递,例如
string profilePassword = objWEB.Verify_ProilePassword("exec sp_verify_profilepwd '" + txt_profil_pwd.Text + "','"+cid+"'");
问候, 大卫
【问题讨论】:
标签: c# asp.net web-services webmethod