User-Agent(使用者代理,簡稱 UA) 是當您在使用瀏覽器或任何軟體連上網路時,軟體自動發送給網頁伺服器的一串「身份識別自白」。

簡單來說,它就像是瀏覽器的**「身份證」或「名片」**。當您點開一個網頁,您的瀏覽器就會在背景對伺服器(例如 Nginx)大喊:「你好!我是跑在 Windows 11 電腦上的 Chrome 瀏覽器,請把網頁傳給我!」


🔍 拆解一條標準的 User-Agent

在您先前的 Nginx 日誌中,經常看到類似這樣的內容:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 ... Chrome/120.0.0.0 Safari/537.36"

這串看起來像亂碼的字,其實包含了非常精準的硬體與軟體資訊:

  1. Windows NT 10.0; Win64; x64:告訴伺服器,這位使用者是用 64位元的 Windows 10 或 11 電腦。
  2. Chrome/120.0.0.0:告訴伺服器,它使用的瀏覽器核心是 Chrome 第 120 版。
  3. AppleWebKit/537.36 ... Safari/537.36:這是歷史遺留的相容性寫法,用來告訴伺服器它能完美解析現代的網頁特效。

💡 User-Agent 的兩大核心用意

網頁伺服器(如 Nginx 或 WordPress)收到這張名片後,主要用來做兩件事:

1. 自動切換網頁排版(手機版 vs 電腦版)

如果 UA 裡面寫著 Android 或 iPhone,WordPress 就會自動吐出適合單手操作、比較窄的手機版網頁;如果 UA 寫著 Windows 或 Macintosh,則吐出寬廣的電腦版網頁。

2. 合法爬蟲的自我介紹(讓伺服器放行)

我們在昨天的日誌裡看到了這條:"Mozilla/5.0 ... compatible; ClaudeBot/1.0; [email protected]"AI 巨頭 Anthropic 的爬蟲非常守規矩,它在 UA 裡明確表明自己是 ClaudeBot,並附上網址。伺服器看到這張名片,就知道這不是惡意駭客,而是有禮貌的 AI 機器人,因而予以放行。


🚨 在網頁資安中,駭客是如何利用 User-Agent 的?

在您過去三天的防禦實戰中,User-Agent 是我們辨識壞蛋非常重要的依據,主要分為以下兩種狀況:

1. 粗劣的自動化掃描器(大喇喇露餡)