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

时间:2021-05-13 00:15:14
类似:
</title><style>.a7ml{position:absolute;clip:rect(458px,auto,auto,458px);}</style><div class=a7ml><a href=http://easy-diet.ru >赅?筢疣螯 骅忸?/a><

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

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

11 个解决方案

#1


根本防止录入这些标签也不科学吧。就像现在也可以输入啊<title>你管不着<title>

#2


你可以入库时,过滤某些标签,但是,哪些不合理都是你自己定义的,毕竟是输入框,输什么都可以

#3


必须是自己去做关键字词的过滤

#4


sql注入,你的sql语句写的不严格,这个你得检查程序

对于获取url参数,必须过滤数据库关键字,编码的关键字。

#5


这些乱七八糟的内容不是录入人员录进去的,是不知不觉被写入的.

引用 4 楼 sandyxxx 的回复:
sql注入,你的sql语句写的不严格,这个你得检查程序

对于获取url参数,必须过滤数据库关键字,编码的关键字。



大哥,sql语句应该怎么处理,有没这方面的详细信息可以透露.
哪里可以找到此类信息.

#6


insert|update|delete|drop|'
用正则,简单的用replace替换即可

#7


正则表达式过滤一些关键字

#8


那些字符串很长,而且不确定,无法在程序中用replace替换.

#9


你这个是用文本编辑器写的吧,会带格式的

#10


                string txt = Server.HtmlEncode("<div>abc</div>");
                Response.Write(txt);

#11


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

#1


根本防止录入这些标签也不科学吧。就像现在也可以输入啊<title>你管不着<title>

#2


你可以入库时,过滤某些标签,但是,哪些不合理都是你自己定义的,毕竟是输入框,输什么都可以

#3


必须是自己去做关键字词的过滤

#4


sql注入,你的sql语句写的不严格,这个你得检查程序

对于获取url参数,必须过滤数据库关键字,编码的关键字。

#5


这些乱七八糟的内容不是录入人员录进去的,是不知不觉被写入的.

引用 4 楼 sandyxxx 的回复:
sql注入,你的sql语句写的不严格,这个你得检查程序

对于获取url参数,必须过滤数据库关键字,编码的关键字。



大哥,sql语句应该怎么处理,有没这方面的详细信息可以透露.
哪里可以找到此类信息.

#6


insert|update|delete|drop|'
用正则,简单的用replace替换即可

#7


正则表达式过滤一些关键字

#8


那些字符串很长,而且不确定,无法在程序中用replace替换.

#9


你这个是用文本编辑器写的吧,会带格式的

#10


                string txt = Server.HtmlEncode("<div>abc</div>");
                Response.Write(txt);

#11


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