smarty-xss

对 Smarty 模板进行 XSS 校验修复
授权协议 未知
开发语言 JavaScript
所属分类 Web应用开发、 常用JavaScript包
软件类型 开源软件
地区 国产
投 递 者 萧辰沛
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

smarty-xss 是对 Smarty 模板进行 XSS 校验修复。

安装

npm install smarty-xss

原理

通过配置对应类型(js、event、path、xml、data)的转义插件名称,对Smarty模板进行XSS检验修复。

使用方法

载入模块

var xss = require('smarty-xss');

设置配置参数

var option = {}
    escapeMap = {
        'js' : 'f_escape_js',
        'html' : 'f_escape_xml',
        'data' : 'f_escape_data',
        'path' : 'f_escape_path',
        'event' : 'f_escape_event',
        'no_escape' : 'escape:none'
    };//不同类型对应的转义列表,默认为空option['escapeMap'] = escapeMap;//Smarty模板变量左定界符,默认为:<&option['leftDelimiter'] = '{#';//Smarty模板变量右定界符,默认为:&>option['rightDelimiter'] = '#}';//XSS安全变量,不需要进行转义option['xssSafeVars'] = ['fis_safe','fis_xss'];//设置参数xss.config(option);//只进行校验,返回为记录校验信息的数组var check-result = xss.check('<div class="{#$spUserInfo.userName#}">{#$spUserInfo.city#}</div>');//进行校验修复,返回为修复后的内容var result = xss.repair('<div class="{#$spUserInfo.userName#}">{#$spUserInfo.city#}</div>');

测试

系统测试

在源码目录执行命令:npm test

  • 原文地址:google的网页快照 -------- Smarty模板引擎XSS漏洞的出现与防范分享 出现情况 简单来说,在使用模板变量输出源码时,忽略了本该转义的url、html或js,若变量的值包含特殊格式或攻击者人为构造出特殊格式时出现。 若这些模板变量: 1.未进行url转义① 示例: 常见模板变量出现场景 源码 a标签的hred属性内 <a href=”http:/mysite.com/{

  • 一、XSS Cross Site Script,跨站脚本攻击。是指攻击者在网站上注入恶意客户端代码,通过恶意脚本对客户端网页进行篡改,从而在用户浏览网页时,对用户浏览器进行控制或者获取用户隐私数据的一种攻击方式。 1.容易发生的场景 (1)数据从一个不可靠的链接进入到一个web应用程序。 (2)没有过滤掉恶意代码的动态内容被发送给web用户。 2.XSS攻击的共同点 将一些隐私数据如cookie、

  • 来自http://wp.iyouths.org/256.html  主要在get请求中 <script> (function(){ var a = {:$_GET['b']}; //.... })() </script> admin.php/Login/index/?b=%27%27;alert(document.cookie);// 后台比如攻击方式http://shop/index.p

 相关资料
  • smarty是一个基于PHP开发的PHP模板引擎。它提供了逻辑与外在内容的分离,简单的讲,目的就是要使 用PHP程序员同美工分离,使用的程序员改变程序的逻辑内容不会影响到美工的页面设计,美工重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中 显的尤为重要。

  • 本文向大家介绍smarty的赋值和载入模板?相关面试题,主要包含被问及smarty的赋值和载入模板?时的应答技巧和注意事项,需要的朋友参考一下 $Smarty->assign(name,value) $Smarty->display(‘index.html’)

  • Smarty 是一个 php 模板引擎。更准确的说,它分开了逻辑程序和外在的内容,提供了一种易于管理的方法。 Github 地址:https://github.com/smarty-php/smarty 官网:https://www.smarty.net/

  • Checkmarx在我的Controller类中为以下方法提供了XSS漏洞。具体来说:此元素的值(ResultsVO)随后在代码中流动,而没有经过适当的清理或验证,最终在方法中显示给用户: ResultsVO对象有很多String属性,我只是想知道是否有一种优雅的方法来编码它们以防止此漏洞。

  • angular-smarty 是一个基于 AngularJS 实现的自动完成的 UI 实现。 使用方法: $(function() {    angular.bootstrap(angular.element("body"), ["angular-smarty"]);}); HTML <body ng-controller="SmartyController">    <div class="co

  • Table of Contents Request variables[页面请求变量](译注:就是get,post,server,session等变量) {$smarty.now} {$smarty.const} {$smarty.capture} {$smarty.config} {$smarty.section}, {$smarty.foreach} {$smarty.template} Th