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.pswp.cn/diannao/85730.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/85730.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/85730.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

DeviceNET從站轉EtherNET/IP主站在鹽化工行業的創新應用

在工業自動化飛速發展的今天,鹽化工行業也在積極探索智能化升級的路徑。其中,設備之間的高效通信與協同工作成為了提升生產效率和質量的關鍵。而JH-DVN-EIP疆鴻智能DeviceNET從站轉EtherNET/IP主站的技術應用,為鹽化工行業帶來了全新的解決方…

安裝 Nginx

個人博客地址:安裝 Nginx | 一張假鈔的真實世界 對于 Linux 平臺,Nginx 安裝包 可以從 nginx.org 下載。 Ubuntu: 版本Codename支持平臺12.04precisex86_64, i38614.04trustyx86_64, i386, aarch64/arm6415.10wilyx86_64, i386 在 Debian/Ubuntu 系統…

默認網關 -- 負責轉發數據包到其他網絡的設備(通常是路由器)

? 默認網關概括說明: 默認網關(Default Gateway)是網絡中一臺負責轉發數據包到其他網絡的設備(通常是路由器)。當一臺主機要訪問不在本地子網內的設備時,會將數據包發給默認網關,由它繼續轉發…

cv::FileStorage用法

cv::FileStorage 是 OpenCV 中的一個類,用于讀取和寫入結構化數據(如 YAML、XML、JSON)。它非常適合保存和加載諸如: 相機內參(K、D) 位姿(R、T) IMU 數據 配置參數 向量、矩陣、…

WebFuture:啟動服務提示Job webfuture.service/start failed with result ‘dependency‘處理辦法

問題分析: 當出現 Job webfuture.service/start failed with result dependency. 這樣的錯誤提示時,通常意味著 webfuture.service 這個服務在啟動時因為依賴關系的問題而未能成功啟動 解決辦法: 原因分析: webfuture.service 可…

Java 大視界 -- Java 大數據機器學習模型在遙感圖像變化檢測中的應用與改進(235)

??親愛的朋友們,熱烈歡迎來到 青云交的博客!能與諸位在此相逢,我倍感榮幸。在這飛速更迭的時代,我們都渴望一方心靈凈土,而 我的博客 正是這樣溫暖的所在。這里為你呈上趣味與實用兼具的知識,也期待你毫無保留地分享獨特見解,愿我們于此攜手成長,共赴新程!?? 全網…

HarmonyOS運動開發:精準估算室內運動的距離、速度與步幅

##鴻蒙核心技術##運動開發##Sensor Service Kit(傳感器服務)# 前言 在室內運動場景中,由于缺乏 GPS 信號,傳統的基于衛星定位的運動數據追蹤方法無法使用。因此,如何準確估算室內運動的距離、速度和步幅,…

商品模塊中的多規格設計:實現方式與電商/ERP系統的架構對比

在商品管理系統中,多規格設計(Multi-Specification Product Design)是一個至關重要但又極具挑戰性的領域。無論是面向消費者的電商系統,還是面向企業管理的ERP系統,對商品規格的處理方式直接影響庫存管理、訂單履約、數…

HTML 等價字符引用:系統化記憶指南

HTML 等價字符引用:系統化記憶指南 在 HTML 中,字符引用(Character Entity References)用于表示保留字符或特殊符號。我將提供一個系統化的方法來記憶這些重要實體,并解釋它們的實際應用。 什么是等價字符引用? HTML 字符引用有兩種形式: 命名實體:&entity_name…

Java 線程池原理詳解

Java 線程池原理詳解 一、引言 在高并發場景下,頻繁地創建與銷毀線程將帶來極大的性能開銷。為了提升資源復用性與程序響應速度,Java 提供了線程池機制(java.util.concurrent 包)。線程池通過復用線程、控制線程數量、任務排隊管…

Mybatis入門到精通

一:什么是Mybatis 二:Mybatis就是簡化jdbc代碼的 三:Mybatis的操作步驟 1:在數據庫中創建一個表,并添加數據 我們這里就省略了 2:Mybatis通過maven來導入坐標(jar包) 3&#xff1a…

化學方程式配平免費API接口教程

接口簡介: 根據反應物和生成物配平化學方程式。 請求地址: https://cn.apihz.cn/api/other/hxfcs.php 請求方式: POST或GET。 請求參數: 【名稱】【參數】【必填】【說明】 【用戶ID】【id】【是】【用戶中心的數字ID&#xff…

Spring學習筆記:Spring的基于注解的XML的詳細配置

按照劉Java的順序,應該是從基于XML的DI開始接著上面的關于IoC容器裝配。主要介紹學習Spring的XML基于注解的詳細配置。 第一步是搭建一個Spring的基礎工程(maven管理),通過IoC機制獲取IoC容器的對象。 創建maven工程并在pom文件…

(四)動手實現多層感知機:深度學習中的非線性建模實戰

1 多層感知機(MLP) 多層感知機(Multilayer Perceptron, MLP)是一種前饋神經網絡,包含一個或多個隱藏層。它能夠學習數據中的非線性關系,廣泛應用于分類和回歸任務。MLP的每個神經元對輸入信號進行加權求和…

第十三篇:MySQL 運維自動化與可觀測性建設實踐指南

本篇重點介紹 MySQL 運維自動化的關鍵工具與流程,深入實踐如何構建高效可觀測體系,實現數據庫系統的持續穩定運行與故障快速響應。 一、為什么需要 MySQL 運維自動化與可觀測性? 運維挑戰: 手動備份容易遺漏或失敗; …

蜜獾算法(HBA,Honey Badger Algorithm)

2021年由Hashim等人提出(論文:Honey Badger Algorithm: A New Metaheuristic Algorithm for Solving Optimization Problems)。模擬蜜獾在自然界中的智能捕食行為,屬于群體智能優化算法(與粒子群PSO、遺傳算法GA同屬一…

Duix.HeyGem:以“離線+開源”重構數字人創作生態

在AI技術快速演進的今天,虛擬數字人正從高成本、高門檻的專業領域走向大眾化應用。Duix.HeyGem 數字人項目正是這一趨勢下的杰出代表。該項目由一支擁有七年AI研發經驗的團隊打造,通過放棄傳統3D建模路徑,轉向真人視頻驅動的AI訓練模型,成功實現了低成本、高質量、本地化的…

HTTP常見的請求方法、響應狀態碼、接口規范介紹

HTTP(Hypertext Transfer Protocol)是Web通信的基礎協議,用于客戶端和服務器之間的請求和響應。本文將詳細介紹HTTP常見的請求方法、響應狀態碼以及接口規范,幫助開發者更好地理解和使用HTTP協議。 一、HTTP請求方法 HTTP請求方…

基于Matlab實現LDA算法

線性判別分析(Linear Discriminant Analysis, LDA)是一種經典的統計方法,常用于特征降維和分類問題。在機器學習領域, 一、LDA基本原理 LDA的目標是尋找一個投影空間,使得類間距離最大化,同時保持類內距離…

matlab基于GUI實現水果識別

基于GUI實現水果識別系統,限一個圖片內存在一種水果 圖像處理是一種利用計算機分析圖像以達到預期結果的技術。圖像處理一般指數字圖像處理,而數字圖像指由工業相機、攝像機、掃描儀等設備捕捉到的二維數組,數組中的元素稱為像素&#xff0c…