Apache-2.4
.htaccess 僅允許來自具有指定 X-Forward-For IP 的 Cloudflare
我想允許人們從指定的 IP 訪問我的頁面。但是,我支持 Cloudflare。獲取使用者 IP 的唯一方法是從
X-Forwarded-For
標頭。但我不能相信X-Forwarded-For
,因為人們可以繞過 Cloudflare 並直接訪問我的伺服器 IP(假設他們可以幸運地猜到我的伺服器 IP)。所以,我想允許
X-Forwarded-For
來自 Cloudflare 的特定 IP 列表。我知道Cloudflare 的 IP 列表。這是我到目前為止得到的。這樣對嗎?SetEnvIF X-Forwarded-For "x.x.x.x" AllowIP <RequireAny> <RequireAll> <RequireAny> Require ip 199.27.128.0/21 Require ip 173.245.48.0/20 Require ip 103.21.244.0/22 Require ip 103.22.200.0/22 Require ip 103.31.4.0/22 Require ip 141.101.64.0/18 Require ip 108.162.192.0/18 Require ip 190.93.240.0/20 Require ip 188.114.96.0/20 Require ip 197.234.240.0/22 Require ip 198.41.128.0/17 Require ip 162.158.0.0/15 Require ip 104.16.0.0/12 Require ip 172.64.0.0/13 </RequireAny> Require env AllowIP </RequireAll> Require ip 127.0.0.1 </RequireAny>
還有一件事。如何允許LIST OF
X-Forward-For
IP而不是只允許一個指定的 IP。問題摘要
- 我的
.htaccess
權利和安全嗎?- 如何允許 IP 列表而不是來自
X-Forwarded-For
.
如何允許 IP 列表而不是來自
X-Forward-For
.您可以有多個
SetEnvIf
指令。(?)請注意,這
x.x.x.x
是一個正則表達式,因此您可以將其表達為就(1\.1\.1\.1|2\.2\.2\.2|3\.3\.3\.3)
好像只有幾個 IP 地址一樣。(記住要避開點。)