PHPKonf Istanbul PHP Conference 2019 - Call for Papers

ldap_escape

(PHP 5 >= 5.6.0, PHP 7)

ldap_escapeЭкранирование строки для использования в фильтре LDAP или в DN

Описание

string ldap_escape ( string $value [, string $ignore = "" [, int $flags = 0 ]] )

Экранирует value для использования в контексте заданном в flags.

Список параметров

value

Значение для экранирования.

ignore

Символы, которые необходимо игнорировать при экранировании.

flags

Контекст, для которого экранируется строка: LDAP_ESCAPE_FILTER для фильтров, используемых в ldap_search() или LDAP_ESCAPE_DN для DN. Если не переданы никакие флаги, то все символы будут экранированы.

Возвращаемые значения

возвращает экранированную строку.

Примеры

При построении фильтра LDAP, вы должны использовать ldap_escape с флагом LDAP_ESCAPE_FILTER.

Пример #1 Поиск по email-адресу

<?php
// $ds - идентификатор сервера каталогов

// $mail - email-адрес, предоставленный пользователем

$base   "o=My Company, c=US";
$filter "(mail=".ldap_escape($mail""LDAP_ESCAPE_FILTER).")";

$sr ldap_search($ds$base$filter, array("sn""givenname""mail"));

$info ldap_get_entries($ds$sr);

echo 
$info["count"]." записей возвращено\n";
?>

add a note add a note

User Contributed Notes 1 note

up
1
martin dot keckeis1 at gmail dot com
3 years ago
You can use it like this for filtering

<?php
$badSearchInput
= 'Domain\username';

$escapedSearchInput = ldap_escape($badSearchInput, null, LDAP_ESCAPE_FILTER);
?>
To Top