Socket
Socket
Sign inDemoInstall

smarty-xssrepair

Package Overview
Dependencies
0
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    smarty-xssrepair

XSS repair for the smarty template.


Version published
Weekly downloads
3
increased by50%
Maintainers
1
Install size
82.0 kB
Created
Weekly downloads
 

Readme

Source

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

FAQs

Last updated on 28 Mar 2013

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc