ldap_escape

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

ldap_escapeEscapa una cadena de texto para su uso en un filtro LDAP o DN

Descripción

ldap_escape(string $value, string $ignore = ?, int $flags = ?): string

Escapa value para su uso en el contexto implicado por flags.

Parámetros

value

El valor a escapar.

ignore

Caracteres a ignorar en el escapado.

flags

El contexto la cadena escapado se utilizará en: LDAP_ESCAPE_FILTER para filtros para ser utilizado con ldap_search(), o LDAP_ESCAPE_DN para DNs.

Valores devueltos

Retorna la cadena escapada.

add a note add a note

User Contributed Notes 2 notes

up
1
support at extollit dot com
4 years ago
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

?>
up
0
martin dot keckeis1 at gmail dot com
9 years ago
You can use it like this for filtering

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

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