2025年6月1日

Cloudflare 適合部落格網站的實用功能介紹﹍防火牆+應用程式+後端平台資料庫

Cloudflare 適合部落格網站的實用功能介紹﹍防火牆+應用程式+後端平台資料庫

Wayne Fu 0 A+
cloudflare-waf-zaraz-workers.jpg-Cloudflare實用功能﹍防火牆+應用程式+後端平台上一篇說明了「網域從 Squarespace 轉移到 Cloudflare」流程需要注意的地方,同時另一篇「Blogger 網站由 Cloudflare 代管常用功能」也介紹了 DNS、網域轉址、郵件轉寄的操作方法。除此之外,Cloudflare 還有很多強大的免費功能,是其他網址代理商無法提供的。 本篇會介紹在免費額度下,這幾個對部落格網站而言非常實用的功能:
  • 防火牆 WAF
  • 第三方工具 Zaraz
  • 後端平台 Workers

一、防火牆 WAF

1. 介紹+說明 WAF 是 Web Application Firewall 的縮寫,如果覺得網站有大量不明流量,或是常有機器人來爬資料,或是想阻絕特定 IP、國家、地區等等來源,那麼 Cloudflare 防火牆功能就非常實用。 此功能的詳細說明可參考這篇「Cloudflare WAF」,但當初的 Cloudflare 界面跟現在差很多,會找不到 WAF 在哪裡,所以這裡大致說明新版界面要如何操作。 2. 操作方法
  • 進入「Cloudflare 儀表板」→ 選擇網域
  • 左側選單「網路安全」→「安全性規則」
  • 進入到這裡的畫面,就差不多是以前 WAF 的畫面
cloudflare-waf-zaraz-workers-1.jpg-Cloudflare實用功能﹍防火牆+應用程式+後端平台 如上圖,「建立規則」→「自訂規則」 cloudflare-waf-zaraz-workers-2.jpg-Cloudflare實用功能﹍防火牆+應用程式+後端平台 這裡的範例是,假設發現網站有來自俄羅斯的數量龐大、不正常流量,可設定一個防火牆規則,針對俄羅斯的訪客進行 CAPTCHA 檢測,判斷是否為真人:
  • 規則名稱:填入自訂說明
  • 欄位:可選擇國家、主機、IP、網址..等,上圖範例會篩選來自俄羅斯的流量
  • 選擇動作:可選擇受控的查問、封鎖、JS 查問等等,「受控的查問」會進行 CAPTCHA 檢測。
  • 設定完畢按右下「佈署」即可
3. 使用限制 免費版最多可設定 5 個規則,如有更多需求數量可以付費使用。

二、第三方工具 Zaraz

1. 介紹+說明 Cloudflare Zaraz 這個功能可以讓網站載入第三方工具,但不需要安裝在網站上,而是由 Cloudflare 伺服器執行。這麼做的好處是:
  • 不影響網頁速度,由後端直接執行
  • 因為第三方程式碼沒有安裝在網頁上,可防止被嵌入惡意程式碼
  • 同時第三方程式碼在伺服器端執行,代表將無法取得訪客 IP、cookie 等資訊,隱私較有保障
2. 操作方法 Zaraz 在 Cloudflare 新界面不容易找到,以下說明如何操作: cloudflare-waf-zaraz-workers-3.jpg-Cloudflare實用功能﹍防火牆+應用程式+後端平台
  • 進入「Cloudflare 儀表板」→ 左側選單一直往下捲,找到「標籤管理」→「標籤設定」
  • 如上圖紅框可看到功能介紹,從伺服器端可安裝許多知名的第三方工具,例如 GA、FB Pixel
cloudflare-waf-zaraz-workers-4.jpg-Cloudflare實用功能﹍防火牆+應用程式+後端平台 畫面往下捲,能選擇許多現成的第三方工具安裝,紅框這幾個是常見的網站工具,左下角的「Instagram」小工具也很實用,很多網站會內嵌這個 IG 工具。 不過本篇要當作範例的,是也很實用的「Custom HTML」工具,可以在網站內嵌 HTML/Javascript,例如嵌入一段「Go Top」回到頂端的按鈕,方便訪客回到網頁上方。 cloudflare-waf-zaraz-workers-5.jpg-Cloudflare實用功能﹍防火牆+應用程式+後端平台 選擇「Custom HTML」後,一路按「繼續」,修改自訂文字等等,直到最後一個步驟「Actions」:
  • 填入「動作名稱」
  • 發動觸發程序:請選擇「Pageview」,代表頁面一載入就執行這段 HTML/JS
  • HTML Code:填入你要嵌入網頁的 code,圖中的測試用範例程式碼,是為了驗證此功能是否可正確執行
輸入完畢按「儲存」即可。 cloudflare-waf-zaraz-workers-6.jpg-Cloudflare實用功能﹍防火牆+應用程式+後端平台 回到網站開啟 Chrome 開發人員工具後,看到上圖紅色底線的文字跑出來了,代表內嵌 JS 成功執行! 3. 使用限制 免費版所有第三方工具執行次數的總和,最多一個月執行一百萬次,可以想成一百萬個瀏覽數,對於一般部落格網站,相信不會超出免費使用額度。

三、後端平台 Workers

1. 介紹+說明 Workers 是 Cloudflare 最強大的功能,能做到類似 Google 這兩項強大的服務:
  • Google Apps Script:可參考「Google Apps Script」相關系列文章,能在後端執行各種網頁 APP
  • Google 試算表:可參考「Google 試算表」相關系列文章,可把試算表當成免費資料庫使用
Workers 跟 Google Apps Script(GAS) 一樣使用 Node.js,所以使用過 GAS 的話應該不難上手。而熟悉 Workers 後,就能讓前端網頁配合後端,做出各種千變萬化的功能、效果。更詳細的介紹可參考這兩篇文章: 2. APP 應用:取得 IP 這裡提供一個簡單範例,說明 Workers 如何做出一個簡單的後端網頁 APP,取得一般前端瀏覽器無法偵測到的訪客 IP、國家等資訊。 cloudflare-waf-zaraz-workers-7.jpg-Cloudflare實用功能﹍防火牆+應用程式+後端平台
  • 進入「Cloudflare 儀表板」→「計算(Workers)」→「Workers 和 Pages」
  • 如上圖按「建立」,來建立一個 APP 頁面
cloudflare-waf-zaraz-workers-8.jpg-Cloudflare實用功能﹍防火牆+應用程式+後端平台
  • 選擇「Workers」分頁
  • 點擊紅框「從 Hello Wolrd 開始」的「開始使用」
cloudflare-waf-zaraz-workers-9.jpg-Cloudflare實用功能﹍防火牆+應用程式+後端平台
  • 上方紅框可填入自訂字串,例如 "test-ip",會自動產生這個字串的 APP 子網域
  • 目前無法修改範本 js 內容,所以先按右下角「部署」
cloudflare-waf-zaraz-workers-10.jpg-Cloudflare實用功能﹍防火牆+應用程式+後端平台 回到「Workers 和 Pages」頁面,會看到已建立「test-ip」這個項目,點進去後如上圖,按右上「程式碼圖示」可編輯 JS 內容。 cloudflare-waf-zaraz-workers-11.jpg-Cloudflare實用功能﹍防火牆+應用程式+後端平台
  • 左側紅框可輸入 JS
  • 右邊可看到這個「test-ip」的 APP 網址,請紀錄自己的 APP 網址
  • 寫完 code 後按右上角「佈署」即可
  • 如果前往這個 APP 網址的話,可看到右下角區塊能預覽執行結果,顯示 IP 及國家
左側「取得 IP 及國家」程式碼,可參考以下範例: export default { async fetch(request) { const ip = request.headers.get("CF-Connecting-IP"); const country = request.headers.get("cf-ipcountry"); return new Response(JSON.stringify({ ip: ip, country: country }), { headers: { "Content-Type": "application/json", "Access-Control-Allow-Origin": "*" } }); } } 前端也可使用以下範例程式碼,呼叫這個 APP 網址,取得訪客 IP 及國家進行運用: fetch('https://填入 APP 網址/') .then(res => res.json()) .then(data => { console.log("國家: " + data.country + ", IP: " + data.ip); }); 4. 資料庫應用:網頁計數器 可作為資料庫應用的範例相當多,最簡單的是網頁計數器,剛好有人寫了完整的 Cloudflare Workers 網頁瀏覽數範例,請參考這篇實作「Cloudflare Workers D1 實作適合純前端網頁的計數器」。 5. 使用限制 Workers 免費版限制可參考官方文件「Workers Free」,主要限制有這些:
  • 每日 10 萬次請求
  • 鍵值每日 10 萬次讀取,1000 次寫入、刪除
  • 1 GB 儲存空間
更多 Cloudflare 相關文章:
0 0
如這篇文章對你有幫助,歡迎「分享」到 FB、「追蹤」粉絲團、「訂閱」最新文章

沒有留言:

張貼留言注意事項:

◎ 勾選「通知我」可收到後續回覆的mail!
◎ 請在相關文章留言,與文章無關的主題可至「Blogger 社團」提問。
◎ 請避免使用 Safari 瀏覽器,否則無法登入 Google 帳號留言(只能匿名留言)!
◎ 提問若無法提供足夠的資訊供判斷,可能會被無視。建議先參考這篇「Blogger 提問技巧及注意事項」。
◎ CSS 相關問題非免費諮詢,建議使用「Chrome 開發人員工具」尋找答案。
◎ 手機版相關問題請參考「Blogger 行動版範本的特質」→「三、行動版範本不一定能執行網頁版工具」;或參考「Blogger 行動版範本修改技巧 」,或本站 Blogger 行動版標籤相關文章。
◎ 非官方範本問題、或貴站為商業網站,請參考「Blogger 免費諮詢 + 付費諮詢
◎ 若是使用官方 RWD 範本,請參考「Blogger 推出全新自適應 RWD 官方範本及佈景主題」→ 不建議對範本進行修改!
◎ 若留言要輸入語法,"<"、">"這兩個符號請用其他符號代替,否則語法會消失!
◎ 為了過濾垃圾留言,所有留言不會即時發佈,請稍待片刻。
◎ 本站「已關閉自刪留言功能」。

TOP