PHP:使用HTTP摘要式身份验证响应来通过LDAP进行身份验证

时间:2017-05-26 08:19:24

标签: php ldap digest-authentication http-digest

您是否可以告诉我是否可以使用HTTP摘要式身份验证响应来通过LDAP对用户进行身份验证?你能让我看一下PHP的例子吗?

2 个答案:

答案 0 :(得分:0)

重要的是要注意,即使您使用说,摘要式身份验证,完全取决于后端系统验证凭据。无论是存储有效凭证集的某些后端数据库,RADIUS服务器,LDAP等都无关紧要。 HTTP级别的服务器和客户端将交换这些标头。

https://leonjza.github.io/blog/2013/06/25/dtob.py-digest-to-basic-authentication-a-simple-example-of-a-authentication-downgrade-attack/

答案 1 :(得分:0)

如PHP文档中所述:http://php.net/manual/en/features.http-auth.php

<?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>";
}
?>

如果您拥有用户/密码,则只需使用这些凭据制作LDAP代码即可对LDAP上的用户进行身份验证。

另一种方法是使用HTTP服务器,该服务器可以使用LDAP后端对用户进行身份验证。例如,请参阅Apache的此文档:https://httpd.apache.org/docs/2.4/mod/mod_authnz_ldap.html