当前位置: 首页 > news >正文

CSP严格模式返回不存在的爬虫相关文件

文章目录

  • 说明
  • 示例(返回404)
  • 示例(创建CSP例外)

说明

日期:2025年6月4日。

CSP严格模式是default-src 'none',但有些web应用中,在爬虫相关文件不存在的情况下,依旧返回了对应文件,而且服务器状态时200,这就导致CSP严格模式违规。

原因是特殊文件的"爬虫友好"设计原则:

  • 搜索引擎优化(SEO)的核心文件
  • 历史惯例要求这些文件必须可访问(即使内容为空)
  • 返回 404 可能被搜索引擎解释为"网站不支持 SEO"。

虽然导致CSP严格模式违规,但并非不能用这些文件。

要根据自身网站需要,对所需的文件创建CSP例外。

示例(返回404)

日期:2025年6月4日。
操作系统:Alibaba Cloud Linux 3.2104 LTS 64位。
应用:

  • node.js v22.15.1
  • npm v11.4.1
// 需要特殊处理的SEO/安全文件列表
const WELL_KNOWN_FILES = ['/robots.txt','/sitemap.xml','/sitemap_index.xml', // 多站点地图情况'/favicon.ico','/ads.txt','/security.txt','/.well-known/security.txt' // 标准位置];// 统一处理:返回404WELL_KNOWN_FILES.forEach(path => {app.get(path, (req, res) => {// 可选:记录访问日志console.log(`Blocked access to ${path} from ${req.ip}`);res.status(404).end();});});// 注册静态文件中间件,必须在统一处理之后
app.use(express.static(path.join(__dirname, 'testwebapp')));

示例(创建CSP例外)

日期:2025年6月4日。
操作系统:Alibaba Cloud Linux 3.2104 LTS 64位。
应用:

  • node.js v22.15.1
  • npm v11.4.1

以sitemap.xml为例。

注:

  • 仅当实际提供sitemap.xml时才需要添加例外。
  • XML文件本身应该是纯静态的。
  • 避免内联样式。
app.get('/sitemap.xml', (req, res) => {res.set('Content-Security-Policy', "default-src 'none'; style-src 'self'");res.sendFile(path.join(__dirname, 'public/sitemap.xml'));
});
http://www.xdnf.cn/news/870967.html

相关文章:

  • C#和C++在编译过程中的文件区分
  • 树莓派上遇到插入耳机后显示“无输入设备”问题
  • 格恩朗椭圆齿轮流量计 精准计量 赋能工业
  • 探索花语的奥秘:全新花语网站上线啦!
  • Elasticsearch中的地理空间(Geo)数据类型介绍
  • PostgreSQL配置文件修改及启用方法
  • ubutu修改网关
  • 将多个分段btsnoop文件合并为一个
  • 低空城市场景下的多无人机任务规划与动态协调!CoordField:无人机任务分配的智能协调场
  • HTML转EXE最新版本2.1.0新功能介绍 - 附CSDN免费下载链接
  • 数据结构与算法:动态规划中根据数据量猜解法
  • 在java 项目 springboot3.3 中 调用第三方接口(乙方),如何做到幂等操作(调用方为甲方,被调用方为乙方)? 以及啥是幂等操作?
  • 【ArcGIS微课1000例】0148:Geographic Imager6.2使用教程
  • Sentry 项目简介
  • 【Zephyr 系列 8】构建完整 BLE 产品架构:状态机 + AT 命令 + 双通道通信实战
  • dxf、dwg中文字矩阵变换
  • Django核心知识点全景解析
  • 网络攻防技术十三:网络防火墙
  • 企业私有化部署DeepSeek实战指南:从硬件选型到安全运维——基于国产大模型的安全可控落地实践
  • Redis命令使用
  • SpringAI(GA):Nacos2下的分布式MCP
  • shell:基础
  • 磐云P10 P057-综合渗透测试-使用反弹木马进行提权获取主机Shell
  • STM32学习之看门狗(理论篇)
  • 10.MySQL索引特性
  • dify中解决docx上传文件报错问题
  • 泰迪杯特等奖案例深度解析:基于量子启发优化与多尺度时空建模的港口物流智能调度系统
  • 如何应对敏捷转型中的团队阻力
  • 【位运算】丢失的数字(easy)
  • Linux进程调度:从时间片到实时任务的交响乐