2016-02-29 27 views

回答

1

它爲什麼做這樣的原因可能是RFC7239

的「for」參數用於透露有關客戶 發起在 代理鏈中的請求和後續代理信息。

客戶端代理像魷魚也可以發起IP添加到X - 轉發,對於頭部,所以如果你那樣做,並請求中已經有標頭集合,清漆不會增加自己認爲client.ip作爲標題字段的一部分。

更新:

「真正的IP」只會是標頭的唯一價值,如果客戶端已經不提供一個 - 但像魷魚代理做到這一點。如果你總是希望客戶端的IP地址(可能是不透明代理服務器的IP地址 - 因此創建XFF報頭)作爲唯一值,則不需要if (!req.http.x-forwarded-for)條件。

但我真的會離開XFF標題,並在後端使用自定義標題字段,特別是如果您打算將其用於資源訪問控制,這是一個固有的不安全的事情,無論如何使用XFF標頭。

另請注意,可以使用setRequestHeader()方法在JavaScript中設置HTTP標頭。

瞭解您的建議目標是有用的。

+0

所以這樣做一般不應該是一個問題,因爲真正的ip總是在一開始,這是一個可靠的假設嗎? –