smarty-xssrepair
v0.0.2
Published
XSS repair for the smarty template.
Downloads
3
Readme
XSS repair for the smarty template.
对Smarty模板进行XSS校验修复
安装
npm install smarty-xssrepair
原理
通过配置对应类型(js、event、path、xml、data)的转义插件名称,对Smarty模板进行XSS检验修复。
使用方法
载入模块
var xss = require('smarty-xssrepair');
设置配置参数
/**
* xss.parse()方法参数为对象,通过key->value的方式进行配置设置
*/
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['fileContent'] = '<div class="{#$spUserInfo.userName|f_escape_xml#}">{#$spUserInfo.city|f_escape_xml#}</div>';
//不同类型对应的转义列表,默认为空
option['_check_pattern'] = escapeMap;
//是否进行修复,默认为true
option['isXssAutoFixed'] = true;
//Smarty模板变量左定界符,默认为:<&
option['leftDelimiter'] = '{#';
//Smarty模板变量右定界符,默认为:&>
option['rightDelimiter'] = '#}';
//XSS安全变量,不需要进行转义
option['xssSafeVars'] = ['fis_safe','fis_xss'];
//返回的结果,数据结构为
//error为校验信息,content为修复后内容,realcontent为原内容
//{
// 'error':[],
// 'content':'',
// 'realContent':''
//}
var result = xss.parse(option);
console.log(result['content']);
测试
系统测试
在源码目录执行命令:npm test