利用 escape-html 保护你的网页免受 XSS 攻击

escape-html 是一个Node.js模块,旨在帮助开发者转义 HTML 字符串中的特殊字符,以安全地将文本插入到HTML中,从而防止潜在的 XSS 攻击。通过本文,你将学习到如何使用 escape-html 来加强你的 web 应用的安全性。

🛠 安装步骤

在开始使用 escape-html 之前,你需要通过 npm 将它安装到你的项目中。

shell 复制代码
$ npm install escape-html

📖 使用指南

escapeHtml(string)

escapeHtml 函数可以转义给定字符串文本的特殊字符,使之可以安全地嵌入 HTML 内容中。转义的字符包括:"'&< 以及 >

注意 :转义后的值仅适用于 HTML 元素的文本内容中,不适用于 <style><script> 等具有不同转义机制的标签。

注意:当在标签内使用转义值时,它只适用于属性值,并且属性值应当被双引号(")或单引号(')引用。

示例代码

以下是两个使用 escape-html 的示例,展示了如何在 HTML 属性值和 HTML 正文中安全地使用转义后的文本。

javascript 复制代码
var escapeHtml = require('escape-html');

// 示例值
var desc = 'I **think** this is good.';
var fullName = 'John \"Johnny\" Smith';

// 在 HTML 属性中使用
console.dir('<input name="full_name" value="' + escapeHtml(fullName) + '">');
// -> ''

// 在 HTML 正文中使用
console.dir('<textarea name="desc">' + escapeHtml(desc) + '');
// -> '<textarea>I <b>think</b> this is good.</textarea>'

仓库地址:github.com/component/e...

相关推荐
没事别瞎琢磨7 小时前
三、配置系统——默认值与解析
人工智能·node.js
右耳朵猫AI8 小时前
Node.js周刊2026W22 | Node.js 26、Deno 2.8、Rolldown 1.0、TypeORM 1.0、Bun v1.3.14
node.js
没事别瞎琢磨8 小时前
二、类型系统——给所有概念起名字
人工智能·node.js
Java.熵减码农11 小时前
Hermes Agent 安装踩坑记录:DNS 解析失败 & Node.js 幽灵文件冲突
node.js·ai编程·hermes
接着奏乐接着舞。11 小时前
Node.js 掌握度 20 题自测水平
node.js
Xd聊架构11 小时前
为什么 OpenClaw 和 Claude Code 都使用 Node.js
node.js·agent·智能体·claudecode·openclaw
小小龙学IT13 小时前
告别 Node.js?Bun 2.0 深度解析
node.js
Aolith13 小时前
Express + TypeScript 下写 JWT 中间件,我踩了三个坑
typescript·node.js·express
右耳朵猫AI13 小时前
JS/TS周刊2026W22 | Deno 2.8、Node.js v26.2.0、Firefox 151、Storybook 10.4、npm 12.0
javascript·node.js·firefox
右耳朵猫AI13 小时前
前端周刊2026W22 | React 13周年、TanStack Router、Deno 2.8、Node.js 26、npm 分阶段发布
前端·react.js·node.js