A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 吴冕 中级黑马   /  2013-4-24 08:23  /  1561 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

大家现在有没有更好的方法防止漏洞攻击?

9 个回复

倒序浏览
你是不是说SQL的注入漏洞,他可以通过使用参数化查询来避免

"insert into select_music (music_name) values ('"+TextBox1.Text +"')"
这个可以改成使用参数化查询
Insert into Select_music(music_name) values(@music_name);
cmd.Parameters.Add(new SqlParameter("@music_name",TextBox1.Text));

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
  1. //txtname 是用户在文本框输入的名字
  2.         "select * from T_User where name='" + txtname + "'";
  3.         "select * from T_User where name = @txtname";
  4.         SqlCommand com = new SqlCommand(con);
  5.         com.Parameters.Add(new SqlParameter("txtname",txtname));
  6.         com.ExecuteNonQuery();
复制代码
我的方法跟 陈志盟 兄弟一样, 但我发现它最后一句 new SqlParamete("@music_name"),
这里的名字多出了 @ 这个字符;
希望我们的代码对你有帮助

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
为了防止数据库漏洞的注入,我们在写SQL语句的时候,不要用 字符串拼接的方式来操作数据库
像 陈志盟 兄弟说的那样,用传参的形式 来给 SQL语句赋值
回复 使用道具 举报
不要拼接字符串,改用参数就可以防漏洞攻击了
回复 使用道具 举报
SQL注入攻击?不要用拼接字符串的方法做查询,改用参数化查询方法。
回复 使用道具 举报
不要使用动态拼装sql,可以使用参数化的sql或者直接使用存储过程进行数据查询存取!
回复 使用道具 举报
以后有待研究
回复 使用道具 举报
预防 SQL 注入攻击就是用 ?代替参数位置而后赋值啊。 要是还想改进那就是限制 SQL语句长度, 正则表达式过滤关键字吧。
回复 使用道具 举报
和楼上的一样,防SQL注入攻击就是把字符串拼接,改为参数化查询。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马