一般的html注入都是在字符串中加入了html标签,用下JAVA代码可以去掉这部分代码。
代码如下,自己封装成方法即可。
String msge = "asdasdasdasd <div id=\"f\">asdfsdf"
System.out.println(msge)
msge = msge.replace("&", "&")
msge = msge.replace("<", "<")
msge = msge.replace(" ", " ")
msge = msge.replace(">", ">")
msge = msge.replace("\"", """)
msge = msge.replace("'", "&qpos")
System.out.println(msge)
三种方式:
一,HTML防注入。
一般的html注入都是在字符串中加入了html标签,用下JAVA代码可以去掉这部分代码。
代码如下,自己封装成方法即可。
String msge = "asdasdasdasd <div id=\"f\">asdfsdf"
System.out.println(msge)
msge = msge.replace("&", "&")
msge = msge.replace("<", "<")
msge = msge.replace(" ", " ")
msge = msge.replace(">", ">")
msge = msge.replace("\"", """)
msge = msge.replace("'", "&qpos")
System.out.println(msge)
二、防SQL注入
最简单最容易的是限制用户输入。
简单点的就是不允许用户输入单引号 和 --,因为单引号号--在SQL中都是影响执行的。
但SQL注入是多方面的,防止的方法也有很多种。
1、地址栏禁止特殊字符防SQL注入
把特殊字符(如and、or、'、")都禁止提交就可以防止注入了。
2、php过滤html字符串,防止SQL注入
批量过滤post,get敏感数据
$_GET = stripslashes_array($_GET)
$_POST = stripslashes_array($_POST)
数据过滤函数
function stripslashes_array(&$array) {
while(list($key,$var) = each($array)) {
if ($key != 'argc' &&$key != 'argv' &&(strtoupper($key) != $key || ''.intval($key) == "$key")) {
if (is_string($var)) {
$array[$key] = stripslashes($var)
}
if (is_array($var)) {
$array[$key] = stripslashes_array($var)
}
}
}
return $array
}
3、替换HTML尾标签
function lib_replace_end_tag($str)
{
if (empty($str)) return false
$str = htmlspecialchars($str)
$str = str_replace( '/', "", $str)
$str = str_replace("\\", "", $str)
$str = str_replace(">", "", $str)
$str = str_replace("<", "", $str)
$str = str_replace("<SCRIPT>", "", $str)
$str = str_replace("</SCRIPT>", "", $str)
$str = str_replace("<script>", "", $str)
$str = str_replace("</script>", "", $str)
$str=str_replace("select","select",$str)
$str=str_replace("join","join",$str)
$str=str_replace("union","union",$str)
$str=str_replace("where","where",$str)
$str=str_replace("insert","insert",$str)
$str=str_replace("delete","delete",$str)
$str=str_replace("update","update",$str)
$str=str_replace("like","like",$str)
$str=str_replace("drop","drop",$str)
$str=str_replace("create","create",$str)
$str=str_replace("modify","modify",$str)
$str=str_replace("rename","rename",$str)
$str=str_replace("alter","alter",$str)
$str=str_replace("cas","cast",$str)
$str=str_replace("&","&",$str)
$str=str_replace(">",">",$str)
$str=str_replace("<","<",$str)
$str=str_replace(" ",chr(32),$str)
$str=str_replace(" ",chr(9),$str)
$str=str_replace(" ",chr(9),$str)
$str=str_replace("&",chr(34),$str)
$str=str_replace("'",chr(39),$str)
$str=str_replace("<br />",chr(13),$str)
$str=str_replace("''","'",$str)
$str=str_replace("css","'",$str)
$str=str_replace("CSS","'",$str)
return $str
}
三、专业的事情交给专业的工具去做。
安装安全软件。例如,在服务器中安装“服务器安全狗”,可以设置防注入,防攻击的设置,只要设置好安全规则,就可以屏蔽大多数攻击入侵。
一,HTML防注入。一般的html注入都是在字符串中加入了html标签,用下JAVA代码可以去掉这部分代码。
代码如下,自己封装成方法即可。
String msge = "asdasdasdasd <div id=\"f\">asdfsdf"
System.out.println(msge)
msge = msge.replace("&", "&")
msge = msge.replace("<", "<")
msge = msge.replace(" ", " ")
msge = msge.replace(">", ">")
msge = msge.replace("\"", """)
msge = msge.replace("'", "&qpos")
System.out.println(msge)
二、防SQL注入
最简单最容易的是限制用户输入。
简单点的就是不允许用户输入单引号 和 --,因为单引号号--在SQL中都是影响执行的。
但SQL注入是多方面的,防止的方法也有很多种。
1、地址栏禁止特殊字符防SQL注入
把特殊字符(如and、or、'、")都禁止提交就可以防止注入了。
2、php过滤html字符串,防止SQL注入
批量过滤post,get敏感数据
$_GET = stripslashes_array($_GET)
$_POST = stripslashes_array($_POST)
数据过滤函数
function stripslashes_array(&$array) {
while(list($key,$var) = each($array)) {
if ($key != 'argc' &&$key != 'argv' &&(strtoupper($key) != $key || ''.intval($key) == "$key")) {
if (is_string($var)) {
$array[$key] = stripslashes($var)
}
if (is_array($var)) {
$array[$key] = stripslashes_array($var)
}
}
}
return $array
}
3、替换HTML尾标签
function lib_replace_end_tag($str)
{
if (empty($str)) return false
$str = htmlspecialchars($str)
$str = str_replace( '/', "", $str)
$str = str_replace("\\", "", $str)
$str = str_replace(">", "", $str)
$str = str_replace("<", "", $str)
$str = str_replace("<SCRIPT>", "", $str)
$str = str_replace("</SCRIPT>", "", $str)
$str = str_replace("<script>", "", $str)
$str = str_replace("</script>", "", $str)
$str=str_replace("select","select",$str)
$str=str_replace("join","join",$str)
$str=str_replace("union","union",$str)
$str=str_replace("where","where",$str)
$str=str_replace("insert","insert",$str)
$str=str_replace("delete","delete",$str)
$str=str_replace("update","update",$str)
$str=str_replace("like","like",$str)
$str=str_replace("drop","drop",$str)
$str=str_replace("create","create",$str)
$str=str_replace("modify","modify",$str)
$str=str_replace("rename","rename",$str)
$str=str_replace("alter","alter",$str)
$str=str_replace("cas","cast",$str)
$str=str_replace("&","&",$str)
$str=str_replace(">",">",$str)
$str=str_replace("<","<",$str)
$str=str_replace(" ",chr(32),$str)
$str=str_replace(" ",chr(9),$str)
$str=str_replace(" ",chr(9),$str)
$str=str_replace("&",chr(34),$str)
$str=str_replace("'",chr(39),$str)
$str=str_replace("<br />",chr(13),$str)
$str=str_replace("''","'",$str)
$str=str_replace("css","'",$str)
$str=str_replace("CSS","'",$str)
return $str
}
三、专业的事情交给专业的工具去做。
安装安全软件。例如,在服务器中安装“服务器安全狗”,可以设置防注入,防攻击的设置,只要设置好安全规则,就可以屏蔽大多数攻击入侵。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)