smarty-xss對(duì) Smarty 模板進(jìn)行 XSS 校驗(yàn)修復(fù)
smarty-xss 是對(duì) Smarty 模板進(jìn)行 XSS 校驗(yàn)修復(fù)。
安裝
npm install smarty-xss
原理
通過(guò)配置對(duì)應(yīng)類型(js、event、path、xml、data)的轉(zhuǎn)義插件名稱,對(duì)Smarty模板進(jìn)行XSS檢驗(yàn)修復(fù)。
使用方法
載入模塊
var xss = require('smarty-xss');
設(shè)置配置參數(shù)
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'
};//不同類型對(duì)應(yīng)的轉(zhuǎn)義列表,默認(rèn)為空option['escapeMap'] = escapeMap;//Smarty模板變量左定界符,默認(rèn)為:<&option['leftDelimiter'] = '{#';//Smarty模板變量右定界符,默認(rèn)為:&>option['rightDelimiter'] = '#}';//XSS安全變量,不需要進(jìn)行轉(zhuǎn)義option['xssSafeVars'] = ['fis_safe','fis_xss'];//設(shè)置參數(shù)xss.config(option);//只進(jìn)行校驗(yàn),返回為記錄校驗(yàn)信息的數(shù)組var check-result = xss.check('<div class="{#$spUserInfo.userName#}">{#$spUserInfo.city#}</div>');//進(jìn)行校驗(yàn)修復(fù),返回為修復(fù)后的內(nèi)容var result = xss.repair('<div class="{#$spUserInfo.userName#}">{#$spUserInfo.city#}</div>');
測(cè)試
系統(tǒng)測(cè)試
在源碼目錄執(zhí)行命令:npm test
評(píng)論
圖片
表情
