ldap_escape
(PHP 5 >= 5.6.0, PHP 7)
ldap_escape — Escape a string for use in an LDAP filter or DN
Описание
string ldap_escape
( string
$value
[, string $ignore
[, int $flags
]] )
Escapes value
for use in the context implied by
flags
.
Список параметров
-
value
-
The value to escape.
-
ignore
-
Characters to ignore when escaping.
-
flags
-
The context the escaped string will be used in:
LDAP_ESCAPE_FILTER
for filters to be used with ldap_search(), orLDAP_ESCAPE_DN
for DNs.
Возвращаемые значения
Returns the escaped string.
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Другие службы
- Облегчённый протокол доступа к каталогам (LDAP)
- ldap_8859_to_t61
- ldap_add
- ldap_bind
- ldap_close
- ldap_compare
- ldap_connect
- ldap_control_paged_result_response
- ldap_control_paged_result
- ldap_count_entries
- ldap_delete
- ldap_dn2ufn
- ldap_err2str
- ldap_errno
- ldap_error
- ldap_escape
- ldap_explode_dn
- ldap_first_attribute
- ldap_first_entry
- ldap_first_reference
- ldap_free_result
- ldap_get_attributes
- ldap_get_dn
- ldap_get_entries
- ldap_get_option
- ldap_get_values_len
- ldap_get_values
- ldap_list
- ldap_mod_add
- ldap_mod_del
- ldap_mod_replace
- ldap_modify_batch
- ldap_modify
- ldap_next_attribute
- ldap_next_entry
- ldap_next_reference
- ldap_parse_reference
- ldap_parse_result
- ldap_read
- ldap_rename
- ldap_sasl_bind
- ldap_search
- ldap_set_option
- ldap_set_rebind_proc
- ldap_sort
- ldap_start_tls
- ldap_t61_to_8859
- ldap_unbind
Коментарии
You can use it like this for filtering
<?php
$badSearchInput = 'Domain\username';
$escapedSearchInput = ldap_escape($badSearchInput, null, LDAP_ESCAPE_FILTER);
?>
Suppose you want to reverse the operation, here is a way to "ldap_unescape"
<?php
function ldap_unescape($string) {
return
preg_replace_callback(
"/\\\\[\da-z]{2}/",
function ($matches) {
$match = array_shift($matches);
return hex2bin(substr($match, 1));
},
$string
);
}
$result = ldap_unescape("uid=\\61\\6c\\70\\68\\6f\\6e\\7a\\6f,ou=people,dc=foo,dc=com"); // uid=alphonzo,ou=people,dc=foo,dc=com
?>