如何確認哪位使用者正在使用 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