如何確認哪位使用者正在使用 CGI 程式呢?
在 CGI 程式中有五個重要的環境變數可以使用,它可以幫助你檢查出誰最
後使用程式。
- HTTP_FROM
-
理論上,這個環境變數是用來設定使用者的電子郵件位置的。然而,大部分
的瀏覽器並沒有設定它們,大部分支援這個變數的瀏覽器允許使用者自行設
定這一個值。所以,它被建議只用來當作在電子郵件的 form 中回信給使用者
的一個預設電子郵件位置。
- REMOTE_USER
-
這個變數只有在安全證明確認的時候才會被設定。
AUTH_TYPE 變數可以被用來檢查哪一種格式(form)的安全證明正被使用。
REMOTE_USER 然後會包含使用者的名字。需要注意的是 REMOTE_USER 只有
在證明動作被做的時候,這個變數才會存在,同時它也不被所有的 Web 伺服
器支援。證明可能會不預期的失敗,尤其在 NCSA 伺服器中如果傳輸的方式
沒有被列在 access.conf 檔案中時 (例如, <Limit GET POST> 應該要被設定,
而不是僅僅使用預設值的 <Limit GET>)
- REMOTE_IDENT
- 這個變數會在伺服器與瀏覽器端的 IDENTD 伺服器連線時設定。
這個檢查的動作比較慢,所以大部分的伺服器都會關掉這項功能,
同時也沒有法子確定瀏覽器端的程式會回應這項查詢。
- REMOTE_HOST
- 這一個便是不會特別去檢查使用者,但是當機器名稱被伺服器抓到後,
它提供了使用者由哪個站連線過來的資訊。
在沒有任何確實資料的時候,我們可以注意這個使用者的正確驗明身分,它
已經足夠用來作一個可信任的位置表來讓我們得到一些東西。這項變數如果
在伺服器查詢機器名稱失敗,或是因為網路速度太慢而忽略查詢動作時,這項
變數也將不會被設定。看看底下的 REMOTE_ADDR ,也同時要記住也許看到
的使用者皆是由不同的 proxy 伺服器過來的名稱。
- REMOTE_ADDR
-
這項變數也不會特別檢查使用者,但是它提供了關於使用者連線過來的機
器資料。 RMOT_ADDR 將會包含瀏覽器的十進位加上句點的 IP Address 資料
。在我們對於使用者資料無法全盤了解的時候,這樣的使用者資料列表是
很有用的。這個變數在任何情況下都會被設定,不像是上面的 REMOTE_HOST
。也要記住的是,看到的可能是使用者所使用的 proxy 伺服器的 IP Address。
World Wide Web FAQ