「Cloudflare」修訂間的差異

出自跨校選修
跳至導覽 跳至搜尋
 
(未顯示同一使用者於中間所作的 19 次修訂)
行 1: 行 1:
[[分類:網路服務]]
+
[[分類:網路服務]]使用免費服務就夠了
 
+
===抵擋爬蟲===
 
+
讓 '''wiki1231''' 的 LocalSettings.php 「$wgGroupPermissions['*']['read'] = false; // 禁止路人讀頁面」,但不由 Cloudflare 代管
 
 
  
 +
'''再登入 cloudflare.com''':
 +
# 到「帳戶首頁」的「網域」,點入域名
 +
# 查 DNS 記錄,確定「類型:A」的域名對應 IP 的記錄是「通過 Proxy 處理」(橙色),而不是「僅 DNS」
 +
# 選擇「網路安全 / 設定」:
 +
#*啟用 I'm Under Attack 模式
 +
#*封鎖 AI 機器人範圍,設為「在所有網頁上封鎖」
 +
# 選擇「網路安全 / 安全性規則」
 +
#*自訂規則
 +
#*# 規則名稱:protect-wiki
 +
#*#:((http.request.uri.path contains "/alWiki") or (http.request.uri.path contains "/wellBeingNg")) and not cf.client.bot and  not ip.src in {伺服器的 IPV4} 時採取 「受控的查問」
 +
#*#:這條經常使用
 +
#*# 規則名稱:block-bad-bots
 +
#*#:(http.user_agent contains "curl" or http.user_agent contains "wget" or http.user_agent contains "python" or http.user_agent contains "scrapy") 時採取 「封鎖」
 +
#*#:這條極少使用
 +
#*限速規則
 +
#*# 規則名稱:limit-wiki
 +
#*#:(http.request.uri.path contains "/alWiki") or (http.request.uri.path contains "/wellBeingNg") or (http.request.uri.path contains "/wiki1231") or (http.request.uri.path contains "/wikiGrade1") 時且使用相同的 IP / 每 10 秒請求 10 次 => 採取動作「封鎖 10 秒」
 +
#*#:這條偶而使用
 +
# 「Caching / Cache rules」不要使用,會使得「分類樹」外掛的即時反應功能消失。
 +
# 會使得 file_get_contents(…) 也被 cloudflare 當成爬蟲阻擋,必須改用 file_get_contents(http://localhost…) 取回資料。
  
 +
====對 urclass.net 下 mediawiki 的干擾與應變====
 +
* http:// 下的正常 wiki 登入被擋 => 改用 https:// 登入即可
 +
* wiki1231 之下的各頁,因「路人禁讀」變成無法被其他 mediawiki 嵌入 => 改成在其他 mediawiki 做「真身」,而在 wiki1231 中嵌入真身
 +
* 在表 wiki_interwiki 的 iw_url 欄中以「http://urclass.net/目錄/index.php?title=$1」表達其他 mediawiki 會導致其他 mediawiki 的頁嵌入時被 cloudflare 當爬蟲擋:
 +
*# iw_url => 改以「http://well-being-ng.net/目錄/index.php?title=$1」表達其他 mediawiki ,而 well-being-ng.net 沒有交給 cloudflare 管,即可成功嵌入。
 +
*# 請求 mediawiki 的 index.php 時,並不會檢查 mediawiki 的 $wgServer 變數,只要 IP 對, index.php 就會被順利執行。
 +
*# 嵌入時, well-being-ng.net 表達的是同一個,即使不是 $wgServer ,也會將指定頁面抓過來嵌入。
  
 +
===Purge(清除 Cloudflare 快取)===
 +
# 清除全部快取:「登入 cloudflare.com / 到「帳戶首頁」的「網域」,點入域名 / Caching / 設定 / 清除全部」
 +
# 清除單個檔案快取:「登入 cloudflare.com / 到「帳戶首頁」的「網域」,點入域名 / Caching / 設定 / 自訂清除 / URL / 圖照網址」
  
 
===[[wbn::DNS|DNS]]===
 
===[[wbn::DNS|DNS]]===
 +
# 新增域名:「登入 Cloudflare / 網域 / 概覽 / 新增網域」
 +
# 管理域名:「登入 Cloudflare / 帳號首頁 / 點擊管理中的域名,如 urclass.net」
  
 
===[[wbn::HTTPS|HTTPS]]===
 
===[[wbn::HTTPS|HTTPS]]===
 +
# 由 Cloudflare 代管域名,會由 Cloudflare 提供憑證,讓 https://… 可讀
 +
#  http://… 也仍維持可讀

於 2026年4月27日 (一) 12:33 的最新修訂

使用免費服務就夠了

抵擋爬蟲

wiki1231 的 LocalSettings.php 「$wgGroupPermissions['*']['read'] = false; // 禁止路人讀頁面」,但不由 Cloudflare 代管

再登入 cloudflare.com

  1. 到「帳戶首頁」的「網域」,點入域名
  2. 查 DNS 記錄,確定「類型:A」的域名對應 IP 的記錄是「通過 Proxy 處理」(橙色),而不是「僅 DNS」
  3. 選擇「網路安全 / 設定」:
    • 啟用 I'm Under Attack 模式
    • 封鎖 AI 機器人範圍,設為「在所有網頁上封鎖」
  4. 選擇「網路安全 / 安全性規則」
    • 自訂規則
      1. 規則名稱:protect-wiki
        ((http.request.uri.path contains "/alWiki") or (http.request.uri.path contains "/wellBeingNg")) and not cf.client.bot and not ip.src in {伺服器的 IPV4} 時採取 「受控的查問」
        這條經常使用
      2. 規則名稱:block-bad-bots
        (http.user_agent contains "curl" or http.user_agent contains "wget" or http.user_agent contains "python" or http.user_agent contains "scrapy") 時採取 「封鎖」
        這條極少使用
    • 限速規則
      1. 規則名稱:limit-wiki
        (http.request.uri.path contains "/alWiki") or (http.request.uri.path contains "/wellBeingNg") or (http.request.uri.path contains "/wiki1231") or (http.request.uri.path contains "/wikiGrade1") 時且使用相同的 IP / 每 10 秒請求 10 次 => 採取動作「封鎖 10 秒」
        這條偶而使用
  5. 「Caching / Cache rules」不要使用,會使得「分類樹」外掛的即時反應功能消失。
  6. 會使得 file_get_contents(…) 也被 cloudflare 當成爬蟲阻擋,必須改用 file_get_contents(http://localhost…) 取回資料。

對 urclass.net 下 mediawiki 的干擾與應變

  • http:// 下的正常 wiki 登入被擋 => 改用 https:// 登入即可
  • wiki1231 之下的各頁,因「路人禁讀」變成無法被其他 mediawiki 嵌入 => 改成在其他 mediawiki 做「真身」,而在 wiki1231 中嵌入真身
  • 在表 wiki_interwiki 的 iw_url 欄中以「http://urclass.net/目錄/index.php?title=$1」表達其他 mediawiki 會導致其他 mediawiki 的頁嵌入時被 cloudflare 當爬蟲擋:
    1. iw_url => 改以「http://well-being-ng.net/目錄/index.php?title=$1」表達其他 mediawiki ,而 well-being-ng.net 沒有交給 cloudflare 管,即可成功嵌入。
    2. 請求 mediawiki 的 index.php 時,並不會檢查 mediawiki 的 $wgServer 變數,只要 IP 對, index.php 就會被順利執行。
    3. 嵌入時, well-being-ng.net 表達的是同一個,即使不是 $wgServer ,也會將指定頁面抓過來嵌入。

Purge(清除 Cloudflare 快取)

  1. 清除全部快取:「登入 cloudflare.com / 到「帳戶首頁」的「網域」,點入域名 / Caching / 設定 / 清除全部」
  2. 清除單個檔案快取:「登入 cloudflare.com / 到「帳戶首頁」的「網域」,點入域名 / Caching / 設定 / 自訂清除 / URL / 圖照網址」

DNS

  1. 新增域名:「登入 Cloudflare / 網域 / 概覽 / 新增網域」
  2. 管理域名:「登入 Cloudflare / 帳號首頁 / 點擊管理中的域名,如 urclass.net」

HTTPS

  1. 由 Cloudflare 代管域名,會由 Cloudflare 提供憑證,讓 https://… 可讀
  2. http://… 也仍維持可讀