Использование LDAP в PHP генерирует ошибку, когда поставляется неправильный парольPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Использование LDAP в PHP генерирует ошибку, когда поставляется неправильный пароль

Сообщение Anonymous »

Я использую функции LDAP в php. < /p>
Мой код работает довольно хорошо, но проблема возникает, когда пользователь набирает неправильный пароль. < /p>
В этом случае мое ожидание - это сообщение, в котором написано «неправильный вставлен пароль» (я создал для нее функцию), но вместо этого PHP возвращает ошибку, которая блокирует выполнение скрипта. < /p>

Предупреждение: ldap_bind (): невозможно привязать к серверу: недопустимые учетные данные в
/var/www/html/0functions/logon.php в строке 83
Предупреждение: ldap_search (): search: ошибка операций в
/var/www/html/0functions/logon.php On Line 85
Фатальная ошибка: непредуцовочный тип ldap_get_entries (): аргумент № 2
($ result) должен быть типа ldap \ result, false, данное в
/var/www/html/0functions/logon.php:86 br />/var/www/html/0functions/logon.php(86):
ldap_get_entries (объект (ldap \ connection), false) #1
/var/www/html/login.php (22): logdap ('user', 'pwd') #2 {main}, брошенный в
/var/www/html/0functions/logon.php в строке 86

Мое восприятие заключается в том, что это ошибка DLL. Есть ли способ обойти эту ошибку, и позволить моей функции перейти к концу? Потому что пароль неверен.
Здесь код, который я использую < /p>
$user = Get_Mail();
$conn = ldap_connect('adldap.OMISSIS.com') or die("Could not connect to LDAP server.");
if($conn){
if(!ldap_set_option($conn, LDAP_OPT_PROTOCOL_VERSION, 3)){
$check = false;
die('Cannot set protocol v3.');
}
if(!ldap_set_option(null, LDAP_OPT_X_TLS_CACERTFILE, '/etc/OMISSIS/root_ca.crt')){
$check = false;
die('Cannot select certificate.');
}
if(!ldap_start_tls($conn)){
$check = false;
die('Cannot initiate TLS.');
}
ldap_bind($conn, $user, $password);
return $conn;
}
}
public function exist($email){
$cnt = $this->connection();
$ldap_search = ldap_search($cnt, 'CN=Users,DC=OMISSIS,DC=com', 'mail=' . trim($email));
$result = ldap_get_entries($cnt, $ldap_search);
if(isset($result[0])){
$exist = true;
}else{
$exist = false;
}
ldap_close($cnt);
return $exist;
}


Подробнее здесь: https://stackoverflow.com/questions/793 ... s-supplied
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»