[英]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_USER
和PHP_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/用戶=用戶通過=通
登錄后重定向到
.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_connect
和ldap_bind
上放置了鏈接。 我希望這可以提供幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.