gpt4 book ai didi

PHP LDAP 使用哈希绑定(bind)

转载 作者:行者123 更新时间:2023-12-03 02:58:27 33 4
gpt4 key购买 nike

我有一个客户端、一个 REST API 服务器和一个 LDAP 服务器。我希望客户端使用 LDAP 身份验证对 API 进行身份验证,但我希望避免发送明文密码。

如何使用哈希而不是明文密码执行 PHP LDAP 身份验证?

最佳答案

以这种方式这是不可能的。因此,您不想在客户端存储明文密码,而只存储哈希值,并且只将哈希值发送到服务器。现在,没有人可以通过a)读取客户端配置文件或b)使用wireshark等网络跟踪工具来获取真实密码。但是,在这种情况下,服务器无法知道客户端是否知道密码或仅知道哈希值,因此它只信任哈希值。这意味着任何可以获得哈希值的人都可以使用它来代替密码,因此您根本无法获得安全性。

正确的做法是以启用 ssl 加密的方式设置 ldap 服务器,并告诉 php 在连接时使用 ssl 加密。来自 PHP 文档:

<?php
$ldaphost = "ldaps://ldap.example.com/";

$ldapconn = ldap_connect( $ldaphost )
or die( "Cannot connect" );
$ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);

?>

注意 URL 中的 ldap*s*。

要使用 SSL,您还需要一个证书 - 否则客户端不知道该服务器是真正的服务器,并且可能会将凭据发送到冒充真实服务器的另一台服务器。

关于PHP LDAP 使用哈希绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20821571/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com