首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

sql数据库中一些字段被注入了乱七八糟的代码,怎么解决

2013-02-06 
sql数据库中一些字段被注入了乱七八糟的代码,如何解决?类似:/titlestyle.a7ml{position:absoluteclip

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;
}

热点排行