smarty-xss -


未知
跨平台
JavaScript

软件简介

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

安装

npm install smarty-xss

原理

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

[](https://github.com/fex-team/smarty-

xss#%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95)使用方法

[](https://github.com/fex-team/smarty-

xss#%E8%BD%BD%E5%85%A5%E6%A8%A1%E5%9D%97)载入模块

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

[](https://github.com/fex-team/smarty-

xss#%E8%AE%BE%E7%BD%AE%E9%85%8D%E7%BD%AE%E5%8F%82%E6%95%B0)设置配置参数

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>');

测试

[](https://github.com/fex-team/smarty-

xss#%E7%B3%BB%E7%BB%9F%E6%B5%8B%E8%AF%95)系统测试

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