X-Forwarded-For
X-Forwarded-Forï¼XFFï¼è¯·æ±æ 头æ¯ä¸ä¸ªäºå®ä¸çç¨äºæ è¯éè¿ä»£çæå¡å¨è¿æ¥å° web æå¡å¨ç客æ·ç«¯çåå§ IP å°åçæ å¤´ã
è¦åï¼å¯¹æ¤æ 头ç䏿°å½ä½¿ç¨å¯è½å¸¦æ¥å®å ¨é£é©ãæå ³è¯¦ç»ä¿¡æ¯ï¼è¯·åé å®å ¨åéç§èèã
å½å®¢æ·ç«¯ç´æ¥è¿æ¥å°æå¡å¨æ¶ï¼å
¶ IP å°å被åéç»æå¡å¨ï¼å¹¶ä¸ç»å¸¸è¢«è®°å½å¨æå¡å¨çè®¿é®æ¥å¿ä¸ï¼ã使¯å¦æå®¢æ·ç«¯éè¿æ£åæåå代çæå¡å¨è¿è¡è¿æ¥ï¼æå¡å¨å°±åªè½çå°æåä¸ä¸ªä»£çæå¡å¨ç IP å°åï¼è¿ä¸ª IP é常没ä»ä¹ç¨ã妿æåä¸ä¸ªä»£çæå¡å¨æ¯ä¸æå¡å¨å®è£
å¨åä¸å°ä¸»æºä¸çè´è½½åè¡¡æå¡å¨ï¼åæ´æ¯å¦æ¤ãX-Forwarded-For çåºç°ï¼å°±æ¯ä¸ºäºåæå¡å¨æä¾æ´æç¨ç客æ·ç«¯ IP å°åã
æå ³ä½¿ç¨æ¤æ 头çè¯¦ç»æå¼ï¼è¯·åé è§£æåéæ©ä¸ä¸ª IP å°åé¨åã
| æ 头类å | è¯·æ±æ 头 |
|---|---|
| ç¦æ¢ä¿®æ¹çæ 头 | å¦ |
æ¤æ å¤´çæ ååçæ¬æ¯ HTTP Forwarded æ 头ã
å®å ¨åéç§èè
æç §è®¾è®¡çç®çï¼æ¤æ 头æ´é²éç§ææä¿¡æ¯ï¼æ¯å¦å®¢æ·ç«¯ç IP å°åãå æ¤ï¼å¨åºç¨æ¤æ 头æ¶ï¼éè¦å°ç¨æ·çéç§é®é¢èèå¨å ã
å½å¨å®¢æ·ç«¯åæå¡å¨ä¹é´æ²¡æåä¿¡ä»»çåå代çæå¡å¨æ¶ï¼æ¯å¦ä¸ä¸ªè´è½½åè¡¡æå¡å¨ï¼ï¼X-Forwarded-For æ 头æ¯ä¸å¯ä¿¡çã妿客æ·ç«¯åææç代çæå¡å¨é½æ²¡ææ¶æä¸è¡ä¸ºè¯å¥½ï¼é£ä¹æ¤æ 头ä¸ç IP å°åå表å
·ææä»¤é¨åææè¿°çæä¹ã使¯å¦æå®¢æ·ç«¯æä»»æä»£çæå¡å¨åææ¶ææé
ç½®é误ï¼é£ä¹æ¤æ 头çä»»æé¨åï¼ææ´ä½ï¼å¯è½æ¯ä¼ªé çï¼å¹¶ä¸æå¯è½ä¸æ¯ä¸ä¸ªå表æè
çè³ä¸å
å« IP å°åï¼ã
妿客æ·ç«¯åæå¡å¨ä¹é´åå¨ä»»æåä¿¡ä»»çåå代çæå¡å¨ï¼æç» X-Forwarded-For ä¸ç IP å°åå表æ¯å¯ä¿¡çï¼å 为è¿äº IP æ¯ç±åä¿¡ä»»ç代çæå¡å¨æ·»å çï¼åªè¦æå¡å¨åªè½éè¿è¿äºä»£çæå¡å¨è¿è¡è®¿é®è䏿¯å¯ä»¥è¢«ç´æ¥è®¿é®ï¼ã
ä½¿ç¨ X-Forwarded-For è¿è¡å®å
¨ç¸å
³çæä½æ¶ï¼æ¯å¦éçéå¶æåºäº IP çè®¿é®æ§å¶ï¼ï¼å¿
é¡»ä»
使ç¨ç±åä¿¡ä»»ç代çæå¡å¨æ·»å ç IP å°åã使ç¨ä¸å¯ä¿¡ç IPï¼å¯è½å¯¼è´éçéå¶è¢«è§é¿ãè®¿é®æ§å¶è¢«ç»è¿ãå
åèå°½ï¼æå
¶ä»ä¸å®å
¨æ§æå¯ç¨æ§ç¸å
³çè´é¢åæã
åè¿æ¥ï¼åªæå½ä½¿ç¨ä¼ªé çå¼ä¸ä¼å¯¼è´è´é¢å½±åæ¶ï¼æå·¦è¾¹çï¼ä¸å¯ä¿¡çï¼å¼æè½è¢«ä½¿ç¨ã
è¯æ³
X-Forwarded-For: <client>, <proxy1>, <proxy2>
å ç´ ç¨éå·åéï¼éå·ä¸¤è¾¹å¯ä»¥å ä¸ç©ºæ ¼ã
æä»¤
- <client>
-
客æ·ç«¯ç IP å°åã
- <proxy1>, <proxy2>
-
å¦æè¯·æ±ç»è¿å¤ä¸ªä»£çæå¡å¨ï¼æ¯ä¸ªä»£çæå¡å¨ç IP å°åä¼ä¾æ¬¡åºç°å¨å表ä¸ãè¿æå³çï¼å¦æå®¢æ·ç«¯å代çæå¡å¨è¡ä¸ºè¯å¥½ï¼æå³è¾¹ç IP å°å伿¯æè¿ç代çæå¡å¨ç IP å°åï¼æå·¦è¾¹ç IP å°å伿¯åå§å®¢æ·ç«¯ç IP å°åã
示ä¾
X-Forwarded-For: 2001:db8:85a3:8d3:1319:8a2e:370:7348
X-Forwarded-For: 203.0.113.195
X-Forwarded-For: 203.0.113.195, 2001:db8:85a3:8d3:1319:8a2e:370:7348
X-Forwarded-For: 203.0.113.195,2001:db8:85a3:8d3:1319:8a2e:370:7348,150.172.238.178
è§£æ
对 X-Forwarded-For æ 头çä¸å½è§£æå¯è½å¯¼è´ä¼ªé çå¼è¢«ç¨äºå®å
¨ç¸å
³çç®å°ï¼é æä¸ææåè¿çè´é¢åæã
å¨ä¸ä¸ªè¯·æ±ä¸å¯è½åºç°å¤ä¸ª X-Forwarded-For æ 头ãè¿äºæ 头ä¸ç IP å°åå¿
须被å½ä½ä¸ä¸ªå表è¿è¡å¤çï¼ä»ç¬¬ä¸ä¸ªæ 头ä¸ç第ä¸ä¸ª IP å°åå¼å§ï¼ç´å°æåä¸ä¸ªæ 头ä¸çæåä¸ä¸ª IP å°åç»æãæä¸¤ç§æ¹æ³çæè¿ä¸ªå表ï¼
- ç¨éå·æ¼æ¥ææ
X-Forwarded-Foræ 头çå¼ï¼ç¶åç¨éå·å°å ¶å岿ä¸ä¸ªå表 - ç¨éå·å°æ¯ä¸ä¸ª
X-Forwarded-Foræ 头çå¼é½å岿ä¸ä¸ªå表ï¼ç¶åå°è¿äºå表åå¹¶æä¸ä¸ªå表
åªä½¿ç¨å¤ä¸ª X-Forwarded-For æ 头ä¸çä¸ä¸ªæ¯ä¸å¤çã
ï¼ä¸äºåå代çæå¡å¨ä¼èªå¨å°å¤ä¸ª X-Forwarded-For æ 头åå¹¶æä¸ä¸ªï¼ä½æ¯æå®å
¨çåæ³æ¯ä¸è¦å设就æ¯è¿ç§æ
åµãï¼
éæ©ä¸ä¸ª IP å°å
éæ©å°åæ¶ï¼å¿
须使ç¨ä»ææ X-Forwarded-For æ 头çæç宿´ IP å表ã
å½éæ©ç¦»å®¢æ·ç«¯æè¿ç X-Forwarded-For IP å°åæ¶ï¼ä¸å¯ä¿¡å¹¶ä¸ä¸ç¨äºå®å
¨ç¸å
³çç®å°ï¼ï¼åºè¯¥éæ©æå·¦è¾¹çã第ä¸ä¸ªææä¸ä¸æ¯ç§æ/å
é¨å°åç IP å°åãï¼è¦æ±âææâæ¯å 为伪é çå¼å¯è½æ ¹æ¬å°±ä¸æ¯ IP å°åï¼è¦æ±â䏿¯ç§æ/å
é¨å°åâæ¯å 为客æ·ç«¯ä½¿ç¨ç代çæå¡å¨å¯è½å¨å®ä»¬çå
é¨ç½ç»ä¸ï¼å¨è¿ç§æ
åµä¸ä»£çæå¡å¨å¯è½æ·»å äºç§æ IP å°å空é´ä¸çå°åãï¼
å½éæ©ç¬¬ä¸ä¸ªå¯ä¿¡ç X-Forwarded-For 客æ·ç«¯ IP å°åæ¶ï¼éè¦è¿è¡é¢å¤çé
ç½®ãæä¸¤ç§å¸¸ç¨çæ¹æ³ï¼
- å信任代çæå¡å¨æ°éï¼é
ç½®äºäºèç½åæå¡å¨ä¹é´çåå代çæå¡å¨æ°éãä»
X-Forwarded-ForIP å表çæå³è¾¹å¼å§æç´¢ï¼ç¬¬ï¼å信任代çæå¡å¨æ°é - 1ï¼ä¸ªå°åå°±æ¯ç®æ å°åãï¼ä¾å¦ï¼å¦æåªæä¸ä¸ªåå代çæå¡å¨ï¼è¿ä¸ªä»£çæå¡å¨ä¼æ·»å 客æ·ç«¯ç IP å°åï¼å æ¤åºè¯¥ä½¿ç¨æå³è¾¹çå°åã妿æä¸ä¸ªåå代çæå¡å¨ï¼æå两个 IP å°åå°æ¯å é¨å°åãï¼ - å信任代çæå¡å¨å表ï¼é
ç½®äºåä¿¡ä»»åå代çæå¡å¨ç IP æ IP èå´ãä»
X-Forwarded-ForIP å表çæå³è¾¹å¼å§æç´¢ï¼è·³è¿å信任代çæå¡å¨å表ä¸çææå°åã第ä¸ä¸ªä¸å¹é çå°åå°±æ¯ç®æ å°åã
第ä¸ä¸ªå¯ä¿¡ç X-Forwarded-For IP å°åå¯è½å±äºä¸ä¸ªä¸åä¿¡ä»»çä¸é´ä»£çæå¡å¨ï¼è䏿¯å®é
ç客æ·è®¡ç®æºï¼ä½è¿æ¯å¯ä¸ä¸ä¸ªéç¨äºå®å
¨ç¨éç IP äºã
注æå¦æä»äºèç½å¯ç´æ¥è¿æ¥å°æå¡å¨ââå³ä½¿æå¡å¨ä¹ä½äºä¸ä¸ªåä¿¡ä»»çåå代çæå¡å¨ä¹åââX-Forwarded-For IP å表ä¸çä»»ä½é¨åé½ä¸è½è¢«è®¤ä¸ºæ¯å¯ä¿¡èµçï¼æè
å¯å®å
¨å°ç¨äºå®å
¨ç¸å
³çç¨éã
è§è
ä¸å±äºä»»ä½æ¢æè§èãæ åçæ¬æ¯ Forwardedã