Sql注入问题

本文关键字:问题 注入 Sql | 更新日期: 2023-09-27 17:53:52

我有HttpHandler页面,我用它来做一些东西,包括使用DB。我需要能够防止人们访问这个文件,并确保信息的路径是我的网站,而不是使用Processrequest来实现这一目标的另一个网页。

    public void ProcessRequest (HttpContext context) {

    if (context.Request.Url.Authority.ToString() != HttpContext.Current.Request.Url.Authority.ToString())
        return;
    context.Response.ContentType = "text/plain";
    string str = context.Request.Form["recordsArray[]"].ToString();
    char[] delimiters = new char[] { ',', ';' };
    string[] arr = str.Split(delimiters);
    for (int i = 0; i < arr.Length; i++)
    {
         Functions.Add(new tab(arr[i])); // insert records into table Tabs => int id, string name           
    }
}

Sql注入问题

如果你想阻止人们访问某些资源,通常你通过身份验证来保护该资源:你授予授权用户用户名/密码,允许你区分他们和未经授权的用户。

一个HTTP请求可以被伪造,看起来就像它来自你的域名,而实际上它不是。所以唯一的方法就是使用一些秘密。

你也可以为你处理SQL注入。

Linq to sql: http://weblogs.asp.net/scottgu/archive/2007/09/07/linq-to-sql-part-9-using-a-custom-linq-expression-with-the-lt-asp-linqdatasource-gt-control.aspx

或者更简单一点,您可以使用SQL参数(Linq to SQL使用的就是with):

(一个简短的指南):http://www.sharpdeveloper.net/content/archive/2007/05/25/creating-sqlparameters-best-practices.aspx或者在这里http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlparameter.aspx

我知道这不是一个特别适合你的解决方案,但我希望这对你有帮助。