You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何批量爬取多个网站排查CSP配置问题,避免上线后功能异常?

可用的CSP批量检测命令行工具及实现方案

以下是两款完全满足需求的本地检测方案,无需依赖在线服务,可批量扫描全站点CSP配置问题:

  • 谷歌官方开源的csp-evaluator命令行工具,和Google Webmaster Tools的CSP检测逻辑完全同源,支持批量输入URL列表,自动识别CSP规则遗漏、配置过松、潜在拦截风险等问题,适配你当前的report-only模式校验需求,无需切换至正式生效模式即可完成全量规则验证。
    常用批量扫描命令:
    csp-evaluator --input your_site_urls.txt --output csp_scan_result.json
    输出结果会明确标注每个页面触发拦截的资源地址、对应的缺失CSP指令,可直接用于规则补全参考。
  • 基于Puppeteer/Playwright的自定义轻量脚本,适合需要覆盖动态加载资源、交互场景的检测场景,只需要十几行代码即可实现全站爬取+CSP违规自动捕获:
    核心代码示例:
    const puppeteer = require('puppeteer');
    (async () => {
      const browser = await puppeteer.launch();
      const page = await browser.newPage();
      // 监听CSP违规事件
      page.on('securitypolicyviolation', (violation) => {
        console.log(`页面地址:${violation.documentURL}`);
        console.log(`拦截资源:${violation.blockedURI}`);
        console.log(`缺失指令:${violation.effectiveDirective}\n`);
      });
      // 此处可替换为你的站点URL遍历逻辑,实现批量扫描
      await page.goto('https://your-website.com/page1');
      await browser.close();
    })();
    
    该方案可以覆盖纯静态扫响应头识别不到的动态资源加载、用户交互后触发的资源请求等场景,检测准确率更高。

扫描时建议覆盖所有业务场景,包括需登录的内部页面、带特殊交互的功能页,避免遗漏特殊场景的CSP规则,补全所有规则后再切换正式模式即可避免站点功能受损。

内容的提问来源于stack exchange,提问作者PeteCon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 22:06:04