繁体   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