簡體   English   中英

將URL中的用戶名和密碼傳遞給PHP頁面?

[英]Pass username and password in URL to PHP page?

我在本地網絡上部署了一個簡單的基於PHP的應用程序( http://www.bigprof.com/appgini/ )。 我想要一種方法來實現用戶自動登錄的方式。安全性不是問題。 是否可以修改登錄頁面以接受http:// user:pass@app.server.lan/

這是登錄頁面的來源 ,如果有幫助的話。

任何幫助將不勝感激。

HTTP基本身份驗證憑證在PHP PHP_AUTH_USERPHP_AUTH_PW中的$_SERVER超全局中以PHP形式提供

來自http://php.net/manual/en/features.http-auth.php

if (!isset($_SERVER['PHP_AUTH_USER'])) {
    header('WWW-Authenticate: Basic realm="My Realm"');
    header('HTTP/1.0 401 Unauthorized');
    echo 'Text to send if user hits Cancel button';
    exit;
} else {
    echo "<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>";
    echo "<p>You entered {$_SERVER['PHP_AUTH_PW']} as your password.</p>";
}

有關更復雜的身份驗證方法,請查看

http:// user:pass@app.server.lan/正由htaccess auth使用

而不是你可以使用,

HTTP://app.server.lan/用戶=用戶通過=通

登錄后重定向到

HTTP://app.server.lan/

.htacccess

AuthUserFile /path/to/your/password/file/.htpasswd
AuthGroupFile /dev/null
AuthName "Members Area"
AuthType "Basic"

<Limit GET POST>
require valid-user
</Limit>

自動登錄網站的可接受方式是使用“記住我”功能。 使用cookies。 你需要幫助來實現它嗎?

安全總是一個問題,特別是如果你共享托管(你可以妥協整個服務器)。

為了回應@ AaronJAnderson關於對另一種解決方案持開放態度的評論,我想建議:

http://alpho011.hubpages.com/hub/Use-Windows-Login-in-PHP-Applications

當然,假設您使用基於Windows的網絡,擁有域和適當的網絡設置,並且可以訪問LDAP(以及以后的Active Directory,如果有的話)

它不是一篇文章而且它有代碼; 希望您可以調查一下,因為即使您在安全的網絡域上,在URL中發布敏感信息在對等級別仍然是危險的.. :(

[編輯]回應@ AaronJAnderson對整合的評論:

創建一個登錄表單以接受用戶的用戶名和密碼,並在提交表單時,使用ldap_connect連接到您的域..然后如果成功,請使用ldap_bind提交用戶名(使用@whateverdomain追加域名) @whateverdomain )和密碼到您的LDAP主機(如果你沒有這個信息,你可以問你的系統/服務器管理員的幫助)--IF成功,那么你已經確認用戶提供正確的用戶名和密碼。 它主要出現在文章中,但我也在ldap_connectldap_bind上放置了鏈接。 我希望這可以提供幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM