From 7cfdf798224ece334111f134744561dda167ad79 Mon Sep 17 00:00:00 2001 From: qianglong Date: Sun, 30 May 2021 00:17:22 +0800 Subject: [PATCH] =?UTF-8?q?add=EF=BC=9A=E6=B7=BB=E5=8A=A0JavaScript?= =?UTF-8?q?=E6=8C=87=E5=8D=97=E5=86=85=E5=AE=B9=E6=9D=A1=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...11\345\205\250\346\214\207\345\215\227.md" | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git "a/JavaScript\345\256\211\345\205\250\346\214\207\345\215\227.md" "b/JavaScript\345\256\211\345\205\250\346\214\207\345\215\227.md" index ba4e448..de1baa6 100644 --- "a/JavaScript\345\256\211\345\205\250\346\214\207\345\215\227.md" +++ "b/JavaScript\345\256\211\345\205\250\346\214\207\345\215\227.md" @@ -105,6 +105,16 @@ if (validURL(sUrl)) { } ``` +**1.1.3【必须】声明了定时器后清除定时器** + +- `setInterval()、setTimeout()` 和 `cleanInterval()、cleanTimeout()` 应成对出现,否则易导致浏览器js引擎的内存泄漏。 + +**1.1.4【推荐】对象构造器应冻结原型链** + + +- *关联漏洞:javascript原型链污染攻击* + + #### 1.2 流行框架/库的安全操作 @@ -193,6 +203,12 @@ click me ``` + +**1.2.3【必须】Vue.js上线前开启 Vue.config.productionTip = false 配置** + +- 否则在线上环境可用浏览器插件Vue.js-devtools将vue实例信息逆向查看,vue实例的router对象可将系统内所有页面路径暴露 + + #### 1.3 页面重定向 **1.3.1【必须】限定跳转目标地址** @@ -293,6 +309,8 @@ window.addEventListener("message", (e) => { **2.2.1【必须】使用可信范围内的统计组件** +- 定期使用 `npm audit fix` 命令给依赖包升级打补丁, node_modules 文件夹只给予可读可写权限,不允许可执行 + **2.2.2 【必须】禁止引入非可信来源的第三方JS** @@ -898,7 +916,11 @@ app.get("/login", (req, res) => { #### 1.13 Cookie与登录态 -**1.13.1【推荐】为Cookies中存储的关键登录态信息添加http-only保护** +**1.3.1【推荐】后端在把cookie种到前端时,给cookie设置http-only、security属性** + +**1.3.2【推荐】cookie播种的域范围应精确** + +- 只在三级域名使用到的cookie不应播种给一级域名 *关联漏洞:纵深防护措施 - 安全性增强特性* @@ -915,7 +937,7 @@ app.get("/login", (req, res) => { #### 2.2 运行环境 -**2.2.1 【必须】使用非root用户运行Node.js** +**2.2.1 【必须】使用非root用户运行Node.js,如有条件可升级为deno,可严格限制js对操作系统的访问权限** #### 2.3 配置信息