SunshinePHP 2020

ldap_escape

(PHP 5 >= 5.6.0, PHP 7)

ldap_escapeLDAP フィルタまたは DN で使われる文字列をエスケープする

説明

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

flags で指示されたコンテキストで使う value をエスケープします。

パラメータ

value

エスケープする値

ignore

エスケープする際に無視する文字

flags

エスケープされた文字列が使われるコンテクスト: LDAP_ESCAPE_FILTER は、 ldap_search(), で使われるフィルタ。 LDAP_ESCAPE_DN は DN の場合に使います。 フラグが渡されなかった場合、全ての文字がエスケープされます。

返り値

エスケープされた値を返します。

LDAP フィルタを組み立てる際、 LDAP_ESCAPE_FILTER を指定して ldap_escape を使うべきです。

例1 Eメールアドレスを検索する

<?php
// $ds is a valid link identifier for a directory server

// $mail is an email address provided by the user in a form

$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"]." entries returned\n";
?>

add a note add a note

User Contributed Notes 1 note

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

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

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