SuperAPI AI 工具集

best-practices

安全与审计

查看项目

更新于 10-16 04:38

技能介绍

用途

该技能面向现代 Web 开发,提供一套基于 Lighthouse 最佳实践审计的标准与模式,用于在安全、浏览器兼容性和代码质量方面统一落地最佳实践。当被要求“应用最佳实践”“安全审计”等任务时,可据此逐项检查与修改代码。

主要能力

安全

  • 强制 HTTPS:避免混合内容,所有资源使用 https:// 加载;配置 HSTS 响应头(Strict-Transport-Security: max-age=31536000; includeSubDomains; preload)。
  • 内容安全策略(CSP):可通过 meta 标签或(推荐的)HTTP 响应头配置 default-src、script-src、style-src、img-src、connect-src、frame-ancestors、base-uri、form-action 等指令;内联脚本使用 nonce 放行。
  • 安全响应头:X-Frame-Options: DENY 防点击劫持;X-Content-Type-Options: nosniff 防 MIME 嗅探;X-XSS-Protection: 1; mode=block(旧浏览器);Referrer-Policy: strict-origin-when-cross-origin;Permissions-Policy 限制地理位置、麦克风、摄像头等。
  • 依赖漏洞检查:使用 npm audit、yarn audit、npm audit fix、npm ls 检查与修复;可在 package.json 中配置 audit 与 update 脚本;避免原型污染风险模式(如直接 Object.assign 或 _.merge 用户输入),改用 JSON 深拷贝等更安全方式。
  • 输入净化:避免 innerHTML / document.write 直接写入用户输入,优先使用 textContent;必须渲染 HTML 时使用 DOMPurify.sanitize。
  • 安全 Cookie:服务端设置 Set-Cookie 时使用 Secure、HttpOnly、SameSite=Strict、Path=/。

浏览器兼容性

  • 使用 HTML5 doctype(<!DOCTYPE html>)并声明 lang。
  • 字符编码 meta charset="UTF-8" 放在 head 的第一个元素位置。
  • 声明响应式 viewport:width=device-width, initial-scale=1。
  • 使用特性检测而非浏览器检测(如 'IntersectionObserver' in window),CSS 使用 @supports。
  • 按需加载 polyfill(条件加载或 polyfill.io)。
  • 避免废弃 API:document.write、同步 XHR、Application Cache;改用动态脚本加载、异步 fetch、Service Workers。
  • 触摸与滚轮事件使用 passive: true 监听器,需要 preventDefault 时显式设为 passive: false。

代码质量与错误处理

  • 生产环境不残留 console 调试输出,使用 try/catch 捕获并上报错误,向用户展示友好提示。
  • React 使用 ErrorBoundary(getDerivedStateFromError、componentDidCatch)兜底 UI。
  • 全局监听 error 与 unhandledrejection 事件上报异常。
  • Source map:生产环境使用 hidden-source-map 或关闭,避免源码暴露。

性能最佳实践

  • 脚本使用 defer,避免阻塞;CSS 使用 link 标签并行加载而非 @import。
  • 使用事件委托替代逐元素绑定事件处理器。
  • 及时移除事件监听器或使用 AbortController 清理,避免内存泄漏。

代码质量(HTML)

  • 保证 HTML 有效:避免重复 ID、非法子元素、非法嵌套(如 a 内嵌 button)。
  • 使用语义化 HTML5 元素(header、nav、main、article、h1 等)。
  • 图片保持正确宽高比,必要时使用 object-fit。

权限与隐私

  • 权限请求应在用户操作上下文中触发并说明原因,而非页面加载时直接请求。
  • 通过 Permissions-Policy 限制或按来源开放强大特性。

使用方式

该技能以检查清单与代码示例形式提供,可直接对照审计清单逐项核查:安全(HTTPS、依赖漏洞、CSP、安全头、source map 暴露)、兼容性(doctype、charset、viewport、废弃 API、passive 监听器)、代码质量(控制台错误、有效 HTML、语义化、错误处理、内存清理)、UX(无侵入式插页、上下文权限请求、清晰错误信息、图片宽高比)。

适用场景

  • 对现有 Web 项目进行安全审计与最佳实践整改。
  • 新项目搭建时统一安全头、CSP、兼容性与代码质量规范。
  • 代码评审中检查依赖漏洞、废弃 API、事件监听器与错误处理。

限制

资料未提供该技能的具体安装命令、运行环境要求、支持的框架版本范围、收费方式与价格信息,暂未提供。