代码如下:
public int Number
{
get { return this._number; }
set { this._number = value; }
}
在强行扫描代码后,value
显示为访问控制:数据库。如何解决此问题?还是有其他保护价值的方法?
(我已经尝试为public number
设置private和保护关键字,但是它不起作用)
答案 0 :(得分:2)
筑城要么是错误的,要么是明显的钝化。显示的代码只是一个整数属性。实际上,它与SQL注入一切没有关系。您确定不是在抱怨类似的东西吗?
string sql = "blah blah ... " + obj.Number + " ... more blah";
这现在与SQL注入在同一页上(尽管使用整数可能造成的危害通常是相当有限的,即使这只是不好的代码)。 SQLi安全的实现方式是:
string sql = "blah blah ... @number ... more blah";
//...
cmd.CommandText = sql;
cmd.Parameters.AddWithValue("number", obj.Number); // or similar