`

前端jsp中处理特殊字符方法总结

 
阅读更多

          前段时间修改一个前端jsp页面的,测试组发现一个问题可让我纠结很久了,现在终于解决了来总结一下,下次就方便了。

 

问题:

jsp页面输入框中输入了类似 <script>alert("测试脚本")</script> 这样的恶意脚本,在页面加载的时候会弹出 alert提示框,很是讨厌。

 

解决方案:

第一种:如果是页面回显的话或者在标签内使用这个值的话,可以使用

使用fn:escapeXml()函数转义字符,可以解释为XML标记。

使用这个函数之前必须在页面中导引入下面二行代码

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions"  prefix="fn" %>

第二种:如果刚才的问题不是出现在jsp标签和jsp页面展示的内容里面,而是出现的jsp的js中,比如我们从后台数据中获取了  类似 <script>alert("测试脚本")</script> 这样的恶意脚本 就不能使用第一种方案了,我也正是被这个问题困扰,最后找到了一个简单的解决方案,替换掉脚本里面的特殊符号 < >,使用正则表达式来实现:

我写一个这样的函数,有可能出现恶意脚本的字符都用这个函数处理一下就可以了。

function escapeCharactor(val){
 return val.replace(new RegExp("<","g"),"&lt;").replace(new RegExp(">","g"),"&gt;");
}

分享到:
评论

相关推荐

    jsp传参特殊字符

    对于JSP项目中通过URL传参涉及到特殊字符的情况,正确的做法是在前端使用JavaScript的`encodeURIComponent()`函数进行编码,在后端使用Java的`URLDecoder.decode()`进行解码。这样可以确保特殊字符被正确处理,避免...

    前台Javascript转换特殊字符

    "前台JavaScript转换特殊字符"这个主题涉及到的是如何在JavaScript中处理和转换文本中的特殊字符,以确保数据的正确显示和处理。在网页开发中,经常遇到需要对用户输入进行清理或者格式化的情况,比如防止XSS(跨站...

    简单实例处理url特殊符号&amp;处理(2种方法)

    在处理URL时,我们经常会...总结来说,处理URL特殊符号,尤其是`&`,可以通过前端JavaScript转码或者后端编程进行。同时,要关注字符编码的一致性,尤其是在多语言或跨编码环境的网络分享中,以保证数据传输的准确性。

    JSP中js传递和解析URL参数以及中文转码和解码问题.docx

    在Web开发中,尤其是使用Java Server Pages (JSP)进行开发时,经常需要处理URL中的参数,包括参数的传递、解析以及对中文等特殊字符的处理。本文将详细介绍如何在JSP页面中利用JavaScript进行URL参数的传递和解析,...

    jsp验证正则表达式

    正则表达式是一种用于描述一系列字符组合的模式语言,通过特殊符号和字符来定义文本的搜索模式。在JSP中,正则表达式常用于`&lt;%@ page import="java.util.regex.Pattern" %&gt;`, `Pattern.compile()`以及`Matcher....

    GET 方式提交的含有特殊字符的参数

    在JSP中,处理特殊字符通常使用`java.net.URLEncoder.encode()`方法。这个方法接受一个字符串和字符集作为参数,将字符串中的特殊字符转换为百分号编码。在上述例子中,如果我们的字符集是UTF-8,可以这样做: ```...

    jsp传中文值

    - `encodeURI`则只会对URI中的保留字符、特殊字符等进行编码,而不会编码已经合法的URI组成部分(如路径分隔符“/”等)。 因此,在处理包含中文或其他非ASCII字符的URL参数时,通常推荐使用`encodeURIComponent`。...

    中文搜索引擎制作jsp

    总结来说,制作【中文搜索引擎制作jsp】涉及的关键技术包括:JSP编程、Ajax异步通信、中文字符编码处理、分词技术、全文检索索引和查询、相关性排序算法以及前端用户体验设计。通过学习和掌握这些知识点,你可以构建...

    正则 验证jsp邮箱的合法性

    在这个JSP页面中,我们获取表单提交的邮箱地址,然后调用`validateEmail`方法进行验证,根据结果输出相应的提示信息。 需要注意的是,虽然这个简单的正则表达式可以覆盖大多数常见的邮箱格式,但它可能无法涵盖所有...

    JSP 网页计算器

    - Servlet中的`doGet()`或`doPost()`方法处理请求,获取请求参数,并进行计算。 - 数据类型转换是必要的,因为用户输入通常是字符串,需要转换为整数或浮点数进行计算。 - 使用`request.setAttribute()`和`...

    jsp密码修改页面

    总之,"jsp密码修改页面"涉及了前端用户界面设计、后端服务器逻辑处理、数据库操作、安全策略等多个方面,是一个完整的Web开发中的重要环节。这两个文件`mainpassmodify.jsp`和`mainpassmanage.jsp`协同工作,为用户...

    jsp 视频音频图片文本文件等各种文件的上传源码(最新技术)

    使用安全的文件名生成策略,避免使用可能导致安全漏洞的特殊字符。 7. **用户体验**:提供进度条展示文件上传进度,以及错误提示,可以提升用户上传体验。现代Web技术如HTML5的File API可以支持这些特性。 综上所...

    jsp验证代码验证代码

    - 安全验证:比如避免SQL注入,对特殊字符进行转义。 - 唯一性验证:如用户名或邮箱的唯一性。 4. **错误处理**: - 显示错误消息:当验证失败时,将错误信息显示给用户。 - 重定向或转发:根据验证结果决定是...

    action 和jsp

    2. **编码问题**:在处理中文等特殊字符时,要注意解决乱码问题,通常可以在web.xml中配置字符集过滤器。 3. **性能考虑**:在大型项目中,过多的数据传递可能会导致性能下降,因此需要合理设计数据结构和传递策略...

    基于jsp的非法关键字过滤功能

    4. **正则表达式**:除了简单的关键词匹配,还可以使用正则表达式进行复杂模式匹配,以捕获变体形式的关键字,如带有特殊字符的组合或同音字。正则表达式在Java中通过`Pattern`和`Matcher`类来使用。 5. **用户输入...

    jsp中URL传递中文参数的处理方法

    综上所述,JSP中处理URL传递中文参数的方法主要涉及在前端使用JavaScript的encodeURI()或encodeURIComponent()函数进行编码,并在后端使用Java的URLDecoder.decode()函数进行解码。通过这种方式,可以确保URL中传递...

    解决jsp中文乱码问题

    这些函数会自动处理特殊字符,包括中文字符,以确保在URL中安全传输。示例代码如下: ```javascript var name = encodeURIComponent("张三"); // 发送请求 ``` 在后端接收时,同样需要使用`URLDecoder.decode...

    jsp动态网站开发基本代码

    7. **MVC(Model-View-Controller)设计模式**:在JSP开发中,常常结合Servlet和JSP实现MVC模式,其中Servlet作为控制器处理请求,模型对象负责业务逻辑,JSP作为视图负责展示数据。 8. **JSP与Servlet的关系**:...

    jsp连接mysql数据库登录

    - **SQL注入**:使用PreparedStatement可以防止SQL注入攻击,因为它会自动转义特殊字符。 - **错误信息处理**:不要在页面上直接显示错误信息,以免泄露敏感信息,如“用户名不存在”可能暗示了用户名的有效性。 综...

Global site tag (gtag.js) - Google Analytics