gpt4 book ai didi

php - 防止 LDAP 函数出现 PHP 警告

转载 作者:可可西里 更新时间:2023-11-01 13:43:00 27 4
gpt4 key购买 nike

目前,我正在使用 ldap_* 函数来处理我的一个 Web 应用程序的身份验证。我有能够检查登录是否有效的逻辑,它工作正常,但是当用户输入无效的用户名/密码组合时 ldap_bind() 会产生一个警告,我想尽可能避免。目前,我正在使用 @ 运算符抑制此错误,但我很好奇是否有更好的方法来阻止来自 ldap_* 的警告,而无需完全关闭 PHP 中的警告,或者压制他们。

警告是

A PHP Error was encountered

Severity: Warning

Message: ldap_bind() [function.ldap-bind]: Unable to bind to server: Invalid credentials

Filename: libraries/userauth.php

Line Number: 75

我目前的代码如下:

$uid = "uid=".$username;
$ldapUser = $uid.",ou=***,dc=***,dc=***";
$ds = ldap_connect( $this->ldapURL );
$lb = @ldap_bind( $ds, $ldapUser, $password );
$sr = ldap_search( $ds, $this->ldapBaseDN, $uid );
$info = ldap_get_entries( $ds, $sr );

有没有办法在不完全关闭或抑制 PHP 警告的情况下阻止此警告?

最佳答案

此行为是设计使然,您无法阻止 ldap_bind 在无效凭据上触发警告。不过,您仍然有一些选择:

  1. 像您已经在做的那样用@ 抑制警告
  2. Turn all errors into Exceptions , 然后捕获他们并妥善处理
  3. 通过修改错误报告级别来忽略警告(非常非常糟糕的主意)

在我自己的 ldap 库中,我使用了 @ 抑制器,但我听说与将错误转换为异常相比,它非常慢,所以我的建议是使用选项 2。如果你不关心超高性能,那么选项 1 是一个完全有效的方法。

关于php - 防止 LDAP 函数出现 PHP 警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18283586/

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