`

防xss攻击总结

阅读更多

原则

用户输入什么,数据库就存储什么. 
在前端显示时,需要escape.

html标签的title属性也需要escape

看一个title属性未escape得例子: 

 

html代码: 

所以html标签的title属性也需要escape. 
但是,如果使用jQuery的attr方法设置title,则不需要escape:

setPreviewOrgFullName:function (orgFullName) {
            if(orgFullName){
                //去掉空格
                orgFullName=Cjt.util.Format.trim(orgFullName);
            }
            var orgCutOffName = Util.omitTooLongString(orgFullName, this.config.truncationLength);
            $('#preview_orgFullName').html(Cjt.escape(orgCutOffName)).attr('title', orgFullName);
        }

 

注意:如果使用jQuery设置title,则不需要escape, 
否则需要对title进行escape 
如果能够保证title没有双引号,则不管哪种情况,都不需要escape.

jstl escape

title="<c:out value="${bbs.answer}" default="" escapeXml="true"/>" 

需要引入jstl的标签库: 

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

 

如何实现企业名称超过14字符就截断

步骤:先截断,再escape 
为什么呢? 
如果先escape,那么字符串的长度就与原来不一致 
js版本:

var orgFullNameTmp = Util.omitTooLongString(orgName, me.config.truncationLength);
                            $('ul.company-name').prepend(me.createOrgDom({
                                orgId: resp.orgId,
                                orgFullName: Cjt.escape(orgFullNameTmp),
                                orgFullNameTitle: Cjt.escape(orgName)
                            }));

freeMark: 

<#if item.orgName=="">未命名企业                                                   <#else>                                                <#escape x as x?html>
                                                            <#if item.orgName?length lt 15   >
                                                                ${item.orgName}
                                                                <#else>
   ${item.orgName[0..13]}...
    </#if>                                                  </#escape>
                                                </#if>

 title escape:

title="<#escape x as x?html>${item.orgName}</#escape>"

 

jQuery中html,text方法

text 可以自动escape,所以不用手动escape, 
text根据字面意思,就是不按照html解析,而是仅仅当做普通文本. 
html()需要escape,因为html方法就是按照html来解析的.

$('#agentNameP').html(xssTitle12).attr('title', agentFullName);
            $('#preview_agentName').text(truncatTitle).attr('title', agentFullName);//预览的服务商

 

 

0
2
分享到:
评论

相关推荐

    防止XSS攻击解决办法

    防止XSS攻击是保护Web应用安全的重要一环,对于任何Web开发者来说都是必备的知识。 一、XSS攻击类型 XSS攻击主要分为三类:反射型XSS、存储型XSS和DOM型XSS。 1. 反射型XSS:攻击者通过构造恶意链接,诱使用户点击...

    springmvc4配置防止XSS攻击的方法

    总结来说,Spring MVC通过配置自定义过滤器来防止XSS攻击,是目前广泛采用的一种有效策略。同时,对于SQL注入的防范需要开发者在编写代码时提高警惕,确保每一步操作都不会为恶意攻击者打开方便之门。实现安全防护的...

    php_XSS防攻击插件

    总结,PHP的XSS防护是一个重要的安全措施,通过使用如HTMLPurifier这样的库,我们可以有效地避免XSS攻击,保护用户的浏览器不受恶意脚本的侵害。正确理解和应用这些工具,是构建安全Web应用程序的关键步骤。

    Spring-MVC处理XSS、SQL注入攻击的方法总结

    ### Spring MVC 处理 XSS 和 SQL 注入攻击的方法总结 #### 一、引言 在 Web 开发领域,特别是基于 Java 的应用开发中,Spring MVC 框架因其灵活高效的特点而被广泛采用。然而,随着互联网技术的发展,网络安全问题...

    安全漏洞XSS攻击方法详解

    总结来说,XSS攻击是一种严重的安全威胁,它利用Web应用程序的漏洞,通过注入恶意脚本,影响用户浏览器的行为。理解XSS的工作原理、潜在危害以及防范措施对于维护网络安全至关重要。开发者需要实施严格的输入验证和...

    百度内部通用XSS攻击解决方案探讨培训ppt

    7. 解决方案:百度内部通用XSS攻击解决方案探讨培训ppt,总结了一些解决XSS攻击的方法和思路,帮助开发者和安全工程师更好地理解和防御XSS攻击。 8. 安全策略:统一登录分散认证,核心思想:BDUSS+STOKEN,BDUSS...

    防止SQL注入和XSS攻击Filter

    ### 防止SQL注入和XSS攻击Filter详解 #### 一、背景介绍 在现代Web应用开发过程中,确保应用程序安全至关重要。其中两大常见的安全威胁是SQL注入与跨站脚本(Cross Site Scripting,简称XSS)攻击。这两种攻击方式...

    XSS攻击进阶篇.zip

    **总结来说,XSS攻击是一种利用Web应用漏洞的攻击方式,通过注入恶意脚本影响用户浏览器,可能导致各种安全问题。了解其原理和防御措施是网络安全中的重要一环,对于开发者和安全研究人员来说,持续学习和掌握XSS...

    XSS跨站总结

    为了更好地理解XSS攻击的具体实施方法,下面通过一个简单的案例来展示反射型XSS攻击的过程: 假设攻击者构造了如下链接,并通过社交媒体或电子邮件诱骗受害者点击: \...

    如何寻找XSS漏洞

    总结而言,XSS攻击是互联网安全中的一个重要威胁,它不仅存在于网站,也存在于客户端软件中。识别和防御XSS攻击需要开发者对安全编程原则有深刻理解,并实施有效的安全措施。无论是在服务器端还是在客户端,对所有...

    XSS跨站脚本攻击剖析与防御(目录)

    #### 一、XSS攻击概述 **XSS**(Cross Site Scripting)即跨站脚本攻击,是一种常见的Web应用程序安全漏洞。这种攻击方式利用网页开发时的疏忽,允许攻击者往网页里插入恶意html代码,当用户浏览该页之时,嵌入其中...

    防止xss网络攻击.zip

    XSS(Cross-Site Scripting)攻击是一种常见的网络...总结来说,XSS攻击是Web安全领域的一大威胁,需要开发者和用户共同警惕。通过理解和实施有效的防御策略,我们可以大大降低XSS攻击带来的风险,保护用户的数据安全。

    XSS跨站脚本攻击方法初探

    本文将详细解释XSS攻击的机制,并介绍如何通过偷盗Cookie、利用iframe/frame以及XMLHttpRequest等方式来进行XSS攻击。 #### 引言 随着互联网技术的发展,Web应用程序成为了人们日常生活中不可或缺的一部分。然而,...

    xss跨站脚本攻击-运维安全详细笔记

    存储型xss攻击是指攻击者将恶意代码存储在网站的数据库中,当用户访问该网站时,恶意代码将被执行,从而盗取用户敏感信息。存储型xss攻击的危害较大,因为攻击者可以在网站的数据库中存储恶意代码,等待用户访问该...

    信息安全技术基础:XSS攻击概述.pptx

    【XSS攻击详解】 ...总结,XSS攻击是信息安全领域的重要议题,理解其原理和类型对于构建安全的Web应用至关重要。开发者需要时刻警惕,采取有效措施防止此类攻击的发生,保护用户的隐私和数据安全。

    Web安全之XSS攻击与防御小结

    攻击者对含有漏洞的服务器发起XSS攻击(注入JS代码)。诱使受害者打开受到攻击的服务器URL。受害者在Web浏览器中打开URL,恶意脚本执行。(1)反射型:发出请求时,XSS代码出现在URL中,作为输入提交到服务器端,...

    xss-platform.rar

    总结来说,ThinkPHP的xss-platform是Web开发中防范XSS攻击的重要工具,它集检测、防御、学习和演练于一体,为PHP开发者提供了全面的XSS防护解决方案。通过深入研究和使用该平台,开发者不仅可以提升自身的安全技能,...

Global site tag (gtag.js) - Google Analytics