[英]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.