问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

有什么比较简单的方法 能防止html标签注入和数据库注入?

发布网友 发布时间:2022-04-28 18:54

我来回答

5个回答

热心网友 时间:2022-04-09 05:17

一,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;
}
三、专业的事情交给专业的工具去做。
安装安全软件。例如,在服务器中安装“服务器安全狗”,可以设置防注入,防攻击的设置,只要设置好安全规则,就可以屏蔽大多数攻击入侵。

热心网友 时间:2022-04-09 06:35

防html注入很容易,就是把<和>转换成<和>就行。用String的replaceAll函数来替换。
放sql注入的话,可以用java的参数化来实现,就是用prepareStatement这个类来实现的。参考
http://blog.csdn.net/spcusa/archive/2009/05/09/4164076.aspx

热心网友 时间:2022-04-09 08:10

刚刚看到的html注入,java中有现成的方法可用,HtmlUtils.htmlEscape("用户输入的话");

这样就行了,如有错误请大神指点.

热心网友 时间:2022-04-09 10:01

filter?

哪个地方看不懂?你在dofilter里面把request给拆开来看嘛,他发的内容全在request里面,看见自己不喜欢的字符就直接把请求转到警告页面。filter最方便啊,因为所有的request最初都要经过filter

热心网友 时间:2022-04-09 12:09

用 prepareStatement方法,详情查java doc,或 google
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
宁波社保卡办理需要什么材料 宁波社保卡如何申领 有什么高性价比的隔离霜可以推荐? 防晒效果好的隔离霜有哪些值得入手? 下雨天经常爬在房子墙上的那种软体动物,不是蜗牛没壳的,可以在墙上把身... 原来是美男啊里面插曲、主题曲都有哪些? 请问下各位大虾,我在外地用外地农行卡网上转账到本地邮政卡星期六转账的... 为什么用支付宝买东西明明我余额足够,付款时却说我余额不足?2个... 萍乡烛式过滤器品牌 衡水烛式过滤器品牌推荐 把自己的文章上传到百度文库里怎么上传? 战斗机都有哪些折法? java web如何防止html,js注入 怎样将文章上传到百度文库? 请问怎么上传文章到百度文库啊 怎样将文章上传到百度文库 一年期综合意外险,哪家保险公司的好 意外伤害买什么保险呢,昆仑保险公司哪种产品好? 怎样将自己写的文章传到百度文库 问问意外伤害保险哪家好? 怎样在百度文库上传文章? 给老年人买个人意外伤害险选择哪家的好 在微信群上发红包,为什么其他人看不到,而钱又发出去了 微信群里的红包是不是可以不显示给人看 洪荒混沌魔神有哪些 额 要他们名字 额总共3000这个是知道的 要名字而已 额 我只有20都给了 求啊 混沌三千神魔,是不是有的掌握因果法则,比如时辰道人,掌握时间法则? 三千混沌魔神有哪些 主角好像是重生成混沌魔神 被吞天兽偷袭 主角杀了吞天兽 把吞天兽练成了分身 介绍一下小说大道独行,还有女主 小说 主角穿越到混沌创造混沌魔神的小说书名什什么来 ...怎么防止js注入(如&lt;script language=&#39;javascript&#39;&gt;alert(&#39;Hello... 如何将文章上传到百度文库中 文本域怎么防止js语句注入 怎样上传文章到百度文库? 网站问题 HTML格式 怎么防止查看源文件以及被攻击 怎样能使上传到百度文库中的文章快速通过 ...GET或者POST的参数?防止js注入,或者一些html注入?请请提供代码参考... Javascript怎样进行HTML转义 ...的原因?xss注入过程步骤是什么?防范xss注入的方法有哪些 使用Js让Html中特殊字符不被转义 Spring MVC 如何防止XSS、SQL注入攻击 教育部门有没规定初中生周末不能上课?晚上不能进行晚自习? 诺基亚2720怎么装卡图示 教育部关于学生上课时间的规定 我手机通过蓝牙用电脑上网速度只有3K/S 安卓手机动态壁纸怎么设置 android手机动态 魅族m9怎么用wifi上网,公用网络可以吗? 怎么给安卓手机设置动态壁纸 谁亲身体验过魅族M8的wifi上网功能? 手机是魅族MX 怎么连接wifi时间长了的话网速就会变得很慢