[問題] 關於取得user的IP寫法

看板Python作者 (低溫烘焙)時間15年前 (2010/05/19 09:21), 編輯推噓1(109)
留言10則, 2人參與, 最新討論串1/1
各位先進好 最近寫一個小程式必需抓取user的IP 從google趴文得知使用下例方式可取得 import os ip = os.environ['REMOTE_ADDR'] 這個方式似乎和PHP取用$_SERVER['REMOTE_ADDR']相似 但是在PHP中考慮到user使用Proxy的情況,所以會再以 $_SERVER['HTTP_X_FORWARDED_FRO']來做進一步的判斷 想請問python是否也有proxy情況所處理的方式? 還是os.environ['REMOTE_ADDR']已經把proxy的情況考慮進去了? 煩請指點,感謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.33.92.213

05/19 13:48, , 1F
:environ 是 environment variable 的意思,是由跑起
05/19 13:48, 1F

05/19 13:48, , 2F
那支 python 程式的 shell 傳進去的,os.environ 只是
05/19 13:48, 2F

05/19 13:49, , 3F
讓 user 有方式可以拿來用,並不會做什麼處理。
05/19 13:49, 3F

05/19 13:50, , 4F
也就是說,這部分跟 PHP 一樣要自己判斷有沒有你要的
05/19 13:50, 4F

05/19 13:50, , 5F
資訊然後決定要用哪筆。
05/19 13:50, 5F

05/19 13:51, , 6F
先用 has_key 確認 HTTP_X_FORWARDED_FOR 有沒有在,
05/19 13:51, 6F

05/19 13:51, , 7F
若有,則一樣用 os.environ["HTTP_X_FORWARDED_FOR"]
05/19 13:51, 7F

05/20 02:33, , 8F
感謝指點=v=,這樣我了解了
05/20 02:33, 8F

05/20 10:25, , 9F
修正一下好了,我不應該說 shell,因為跑起那支 python
05/20 10:25, 9F

05/20 10:26, , 10F
程式的不見得是 shell,應該說 parent process。
05/20 10:26, 10F
文章代碼(AID): #1Bypq5us (Python)
文章代碼(AID): #1Bypq5us (Python)