如何用php抓取client端的系統環境變數

edited 十月 2013 in 進階PHP討論
我的server是用Apache+MySQL+php, OS為Server2003.
我希望可以用利使用者登入自己的本機時所輸的帳號作為登入server時的認証,查了一下函式庫有getenv()的相關函式,但我用getenv("USERNAME")取得的卻是server上的使用者名稱。

不知道有沒有取得client端使用者名稱的方式,或是用getenv()的話,是要用哪一個字串呢?

謝謝

原始討論: http://twpug.net/x/modules/newbb/viewtopic.php?topic_id=2832

評論

  • edited 十月 2007
    這是不可能的事情,放棄吧。
  • edited 十月 2007
    也許可以換個形式,透過 AD 進行使用者認證,PHP有支援 AD 的方式
  • edited 三月 2008
    kiang
    我還蠻好奇的 php 怎麼支援 AD?
    怎麼捉AD 的帳密?
  • edited 三月 2008
    認證的方式比較像是,使用者提供帳號、密碼,PHP 程式用這個資料去"問" AD 伺服器是否正確,但是我並沒有實做過這個部份,也許可以試試 Zend_Auth 元件:
    http://framework.zend.com/manual/en/zend.auth.html
  • edited 四月 2008
    可以用 LDAP function 中的 ldap_bind()
    如果成功回傳就是該帳號跟密碼已經經過 AD 的驗證

    http://tw2.php.net/manual/tw/function.ldap-bind.php
  • edited 四月 2008
    不好意思問個笨問題...去哪聯結函式- -a 新手咩別怪我...

    Fatal error: Call to undefined function: ldap_connect() in f:\pro.install\appserv\www\test1.php on line 13
  • edited 四月 2008
    Hello~~
    哪位超級大高手能解答一下這疑問的嗎!!!!
    這問題解決的話可以產生很多一級棒的應用 也可以省去註冊帳戶就直接拿client端的存檔資料去用
    有人在嗎~~~謝謝~~~
  • edited 四月 2008
    你可以選擇用 PHP-GTK (如果堅持用 PHP 解決的話)寫一個用戶端的程式,要求用戶安裝,透過那個程式取得用戶端資料;除此之外,除非有漏洞,否則一般作業系統不會允許遠端主機"偷偷"使用本地端的資料。
  • edited 四月 2008
    另一個方法,是在網頁內嵌activex、java applet或flash,用它收集一些client資訊,送到伺服器。

    不過以管理跟安全來說,用AD是比較好的方法。

    如果要用activex/applet/flash方法,伺服器端在管理上最好還要管理到那一台機器的那一個用戶登入(例如也登記網路卡的mac資料,配合用戶帳號做確認)。另外還要顧慮到一些可靠性,最好用RSA等方法,在軟體中先用公鑰把資料加密再送去伺服器,然後伺服器用私鑰解密。公鑰埋在activex/applet/flash裡面,這樣基本上可以確保資料是透過你的activex/applet/flash傳過去的。(要更安全,那要定期更換公私鑰對,不過反正activex/applet/flash都是放在伺服器上,由使用者下載,所以更換問題不太大)
Sign In or Register to comment.