📅  最后修改于: 2023-12-03 15:13:11.686000             🧑  作者: Mango
@hapi/disinfect
是一个Javascript库,用于将用户输入的数据进行清理和消毒。它可以帮助开发者防范常见的注入攻击,包括跨站脚本(XSS)、SQL注入、HTTP头注入和命令注入等等。
使用npm进行安装:
npm i @hapi/disinfect
const Disinfect = require('@hapi/disinfect');
const inputData = '<script>alert("xss");</script>';
const options = {
allowComments: false,
allowedTags: [],
allowedAttributes: {}
};
const disinfectedData = Disinfect.html(inputData, options);
console.log(disinfectedData); // 输出为: ''
const Disinfect = require('@hapi/disinfect');
const inputData = 'http://www.example.com/?name=<script>alert("xss");</script>';
const options = {
encode: true
};
const disinfectedUrl = Disinfect.query(inputData, options);
console.log(disinfectedUrl); // 输出为: 'http://www.example.com/?name=%3Cscript%3Ealert(%22xss%22)%3B%3C/script%3E'
const Disinfect = require('@hapi/disinfect');
const inputData = {
name: '<script>alert("xss");</script>'
};
const options = {
strict: true,
entities: false
};
const disinfectedJSON = Disinfect.json(inputData, options);
console.log(disinfectedJSON); // 输出为: '{"name":""}'
详细的API文档可以在官方文档中查看。