
- 防火牆 WAF
- 第三方工具 Zaraz
- 後端平台 Workers
一、防火牆 WAF
1. 介紹+說明 WAF 是 Web Application Firewall 的縮寫,如果覺得網站有大量不明流量,或是常有機器人來爬資料,或是想阻絕特定 IP、國家、地區等等來源,那麼 Cloudflare 防火牆功能就非常實用。 此功能的詳細說明可參考這篇「Cloudflare WAF」,但當初的 Cloudflare 界面跟現在差很多,會找不到 WAF 在哪裡,所以這裡大致說明新版界面要如何操作。 2. 操作方法- 進入「Cloudflare 儀表板」→ 選擇網域
- 左側選單「網路安全」→「安全性規則」
- 進入到這裡的畫面,就差不多是以前 WAF 的畫面


- 規則名稱:填入自訂說明
- 欄位:可選擇國家、主機、IP、網址..等,上圖範例會篩選來自俄羅斯的流量
- 選擇動作:可選擇受控的查問、封鎖、JS 查問等等,「受控的查問」會進行 CAPTCHA 檢測。
- 設定完畢按右下「佈署」即可
二、第三方工具 Zaraz
1. 介紹+說明 Cloudflare Zaraz 這個功能可以讓網站載入第三方工具,但不需要安裝在網站上,而是由 Cloudflare 伺服器執行。這麼做的好處是:- 不影響網頁速度,由後端直接執行
- 因為第三方程式碼沒有安裝在網頁上,可防止被嵌入惡意程式碼
- 同時第三方程式碼在伺服器端執行,代表將無法取得訪客 IP、cookie 等資訊,隱私較有保障

- 進入「Cloudflare 儀表板」→ 左側選單一直往下捲,找到「標籤管理」→「標籤設定」
- 如上圖紅框可看到功能介紹,從伺服器端可安裝許多知名的第三方工具,例如 GA、FB Pixel


- 填入「動作名稱」
- 發動觸發程序:請選擇「Pageview」,代表頁面一載入就執行這段 HTML/JS
- HTML Code:填入你要嵌入網頁的 code,圖中的測試用範例程式碼,是為了驗證此功能是否可正確執行

三、後端平台 Workers
1. 介紹+說明 Workers 是 Cloudflare 最強大的功能,能做到類似 Google 這兩項強大的服務:- Google Apps Script:可參考「Google Apps Script」相關系列文章,能在後端執行各種網頁 APP
- Google 試算表:可參考「Google 試算表」相關系列文章,可把試算表當成免費資料庫使用

- 進入「Cloudflare 儀表板」→「計算(Workers)」→「Workers 和 Pages」
- 如上圖按「建立」,來建立一個 APP 頁面

- 選擇「Workers」分頁
- 點擊紅框「從 Hello Wolrd 開始」的「開始使用」

- 上方紅框可填入自訂字串,例如 "test-ip",會自動產生這個字串的 APP 子網域
- 目前無法修改範本 js 內容,所以先按右下角「部署」


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