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

java web如何防止html,js注入

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

我来回答

3个回答

懂视网 时间:2022-04-20 14:27

下面小编就为大家带来一篇浅谈html转义及防止javascript注入攻击的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

有的时候页面中会有一个输入框,用户输入内容后会显示在页面中,类似于网页聊天应用。如果用户输入了一段js脚本,比例:<script>alert('test');</script>,页面会弹出一个对话框,或者输入的脚本中有改变页面js变量的代码则会时程序异常或者达到跳过某种验证的目的。那如何防止这种恶意的js脚本攻击呢?通过html转义能解决这个问题。

一:什么是html转义?

html转义是将特殊字符或html标签转换为与之对应的字符。如:< 会转义为 <> 或转义为 >像“<script>alert('test');</script>”这段字符会转义为:“<script>alert('test');</script>”再显示时页面会将<解析为<,>解析为>,从而还原了用户的真实输入,最终显示在页面上 的还是“<script>alert('test');</script>”,即避免了js注入攻击又真实的显示了用户输入。

二:如何转义?

1、通过js实现

2、通过jquery实现

3、使用

建议使用jquery实现,因为有更好的兼容性。

热心网友 时间:2022-04-20 11:35

在java Web体系中,可以写自定义标签,过滤用户输入,也可以写一个filter过滤器。比如说自定义标签。

开发步骤:

1 写一个标签处理类

2  在/WEB-INF/目录下,写一个*.tld文件,目的是让Web容器知道自定义标签和标签处理类的对应关系

3 在JSP页面中,通过<%@taglib%>指令引用标签库.

4 部署web应用,访问simple.jsp即可

其中,标签处理类可以这样写,转义大于号,小于号等特殊符号。

package cn.itcast.web.jsp.tag;

import java.io.IOException;
import java.io.StringWriter;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.JspFragment;
import javax.servlet.jsp.tagext.SimpleTagSupport;

//<simple:filter>标签处理类
public class FilterTag extends SimpleTagSupport {
public void doTag() throws JspException, IOException {
JspFragment jspFragment = this.getJspBody();
StringWriter writer = new StringWriter();
jspFragment.invoke(writer);
String temp = writer.getBuffer().toString();
//结果必定是转义后的字符串
temp = filter(temp);
PageContext pageContext = (PageContext) this.getJspContext();
pageContext.getOut().write(temp);
}
public String filter(String message) {
        if (message == null)
            return (null);
        char content[] = new char[message.length()];
        message.getChars(0, message.length(), content, 0);
        StringBuffer result = new StringBuffer(content.length + 50);
        for (int i = 0; i < content.length; i++) {
            switch (content[i]) {
            case '<':
                result.append("&lt;");
                break;
            case '>':
                result.append("&gt;");
                break;
            case '&':
                result.append("&amp;");
                break;
            case '"':
                result.append("&quot;");
                break;
            default:
                result.append(content[i]);
            }
        }
        return (result.toString());
    }
}

热心网友 时间:2022-04-20 12:53

这个问题50分都不够的亲。自己去百度吧
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
探歌自动启停怎么关闭不了怎么办 探歌停车自动熄火 一汽大众sagitar自动档换档位的时候震动什么原因 大众速滕挂档车身会抖动 大众速腾变速箱挡杆抖动是哪里的问题? 我的爸爸欠了一千多块,妈妈才发现因此很生气,打架怎么办?我好害怕... 我的情况是属于心理障碍吗? 我的爸爸特别喜欢强势,导致我现在非常害怕爸爸,怎么办呢? 我怕我的爸爸妈妈(亲人)死 歌唱祖国的合唱怎么排练,怎么分声部,怎么轮唱重唱领唱比较合理 柯南最后一集是什么?他有没有边会新一? 怎样将文章上传到百度文库? 请问怎么上传文章到百度文库啊 怎样将文章上传到百度文库 一年期综合意外险,哪家保险公司的好 意外伤害买什么保险呢,昆仑保险公司哪种产品好? 怎样将自己写的文章传到百度文库 问问意外伤害保险哪家好? 怎样在百度文库上传文章? 给老年人买个人意外伤害险选择哪家的好 在微信群上发红包,为什么其他人看不到,而钱又发出去了 微信群里的红包是不是可以不显示给人看 洪荒混沌魔神有哪些 额 要他们名字 额总共3000这个是知道的 要名字而已 额 我只有20都给了 求啊 混沌三千神魔,是不是有的掌握因果法则,比如时辰道人,掌握时间法则? 三千混沌魔神有哪些 主角好像是重生成混沌魔神 被吞天兽偷袭 主角杀了吞天兽 把吞天兽练成了分身 介绍一下小说大道独行,还有女主 小说 主角穿越到混沌创造混沌魔神的小说书名什什么来 丙烯酸地坪漆上面可以刷环氧地坪漆吗 旧日支配者和混沌魔神,这两个那个强大? 丙烯酸地坪漆能用在室外吗 战斗机都有哪些折法? 把自己的文章上传到百度文库里怎么上传? 有什么比较简单的方法 能防止html标签注入和数据库注入? ...怎么防止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上网,公用网络可以吗?