日期:2014-05-17  浏览次数:20596 次

sql数据库中一些字段被注入了乱七八糟的代码,如何解决?
类似:
</title><style>.a7ml{position:absolute;clip:rect(458px,auto,auto,458px);}</style><div class=a7ml><a href=http://easy-diet.ru >赅?筢疣螯 骅忸?/a><

这样的,会在我输入的内容后面,怎么处理?
不可能一条条去删孤.

如何从根本上防止这些写入?

------解决方案--------------------
根本防止录入这些标签也不科学吧。就像现在也可以输入啊<title>你管不着<title>
------解决方案--------------------
你可以入库时,过滤某些标签,但是,哪些不合理都是你自己定义的,毕竟是输入框,输什么都可以
------解决方案--------------------
必须是自己去做关键字词的过滤
------解决方案--------------------
sql注入,你的sql语句写的不严格,这个你得检查程序

对于获取url参数,必须过滤数据库关键字,编码的关键字。
------解决方案--------------------
insert
------解决方案--------------------
update
------解决方案--------------------
delete
------解决方案--------------------
drop
------解决方案--------------------
'
用正则,简单的用replace替换即可
------解决方案--------------------
                string txt = Server.HtmlEncode("<div>abc</div>");
                Response.Write(txt);
------解决方案--------------------
select * from table where aa='" + Request["key"] +  "'
-=>
select * from table where aa='" + "'; delete from table where ''='" +  "'
//主要都是单引号断开

替换或不允许单引号即可
string RequestString(string k)
{
   string val=Request[k]+"";
   if(val.Contains("'")){ Response.Write("让它滚蛋");Response.End(); }
   return val;
}