如何让自己的.net代码更安全??

来源:百度知道 编辑:UC知道 时间:2024/06/19 17:36:25
update admin set username='"+name+"' where id="+id+"
有人说这种代码写的很不安全?是吗?怎样才安全啊??是不是要用存储过程传参数就最安全呢?是不是只要一牵涉到数据库。不管是添加、删除、修改。还是分页,都用存储过程传递参数比较安全??知道请回答我哈

是的!很不安全!有注入漏洞!
但是你先要过滤单引号等特俗符号!然后过滤select,update等关键字!
然后sql语句的参数最好用Parameters来进行添加参数!因为Parameters可以指定参数的类型!如果传参过来的参数类型不对就会出错!然后就捕获到了!

直接连接字符串容易被注入(SQL Injection)攻击
可以查看
http://blog.zol.com.cn/356/article_355906.html
解决办法:
http://topic.csdn.net/t/20030812/15/2137548.html

sql注入
脚本注入都会有危险的
你可以多看点高深点的书籍
加油吧

适用存储过程可以避免注入漏洞的出现。
是的。而且代码的复用性也提高了

防止SQL注入,使用sqlparameter
例子
using (SqlConnection myConncetion = new SqlConnection(ConfigurationManager.AppSettings["ConnString"]))
using (SqlCommand myCommand = new SqlCommand("select UserID, UserName, UserPwd from WHERE userID = @userID ", myConncetion))
{
try
{
Sq