什么是LDAP
LDAP是什么
LDAP是一个用来发布目录信息到许多不同资源的协议。通常它都作为一个集中的地址本使用,不过根据组织者的需要,它可以做得更加强大。
LDAP最基本的形式是一个连接数据库的标准方式。该数据库为读查询作了优化。因此它可以很快地得到查询结果,不过在其它方面,例如更新,就慢得多。要特别注意的是,LDAP通常作为一个hierarchal数据库使用,而不是一个关系数据库。因此,它的结构用树来表示比用表格好。正因为这样,就不能用SQL语句了。
简单说来,LDAP是一个得到关于人或者资源的集中、静态数据的快速方式。
LDAP是轻量目录访问协议(Lightweight Directory Access Protocol)的缩写,其实是一话号码簿,类似于我们所使用诸如NIS(Network Information Service)、DNS (Domain Name Service)等网络目录,也类似于你在花园中所看到的树木。
LDAP是一种特殊的数据库。但是LDAP和一般的数据库不同,明白这一点是很重要的。 LDAP对查询进行了优化,与写性能相比LDAP的读性能要优秀很多。
1.1 LDAP的存储规则
区分名(DN,Distinguished Name)
和自然界中的树不同,文件系统/LDAP/电话号码簿目录的每一片枝叶都至少有一个独一无二的属性,这一属性可以帮助我们来区别这些枝叶。
在文件系统中, 这些独一无二的属性就是带有完整路径的文件名。比如/etc/passwd,该文件名在该路径下是独一无二的。当然我们可以有/usr/passwd, /opt/passwd,但是根据它们的完整路径,它们仍然是唯一的。
在LDAP中,一个条目的区分名称叫做“dn”或者叫做区分名。在一个目录中这个名称总是唯一的。比如,我的dn是"uid=aghaffar, ou=People, o=developer.ch"。不可能有相同的dn,但是我们可以有诸如"uid=aghaffar, ou=Administrators, o=developer.ch"的dn。这同上面文件系统中/etc/passwd 和 /usr/passwd的例子很类似。
我们有独一无二的属性,在"ou=Administrators, o=developer.ch" 中uid和在"ou=People, o=developer.ch"中的uid。这并不矛盾。
CN=Common Name 为用户名或服务器名,最长可以到80个字符,可以为中文;
OU=Organization Unit为组织单元,最多可以有四级,每级最长32个字符,可以为中文;
O=Organization 为组织名,可以3—64个字符长
C=Country为国家名,可选,为2个字符长
LDAP目录以一系列“属性对”的形式来存储记录项,每一个记录项包括属性类型和属性值(这与关系型数据库用行和列来存取数据有根本的不同)。
mail = testmail@mccc.net
othermailbox = testmailother@mccc.com
givenname = givenname
sn = test sn
属性可添加,以下一个属性必须赋值:
objectclass=person (值为:person 或 server 或 organization 或 其他自定义的值)
2 Php如何操作LDAP
2.1 Php如何与LDAP连接和关闭
$ds=ldap_connect("ServerName")
ServerName是LDAP的服务器名,
例:
$ds=ldap_connect(“10.31.172.30:1000”)
返回值是:true 或 false
关闭连接
ldap_close($ds);
2.2 在php中如何搜索用户信息
$ds=ldap_connect("10.31.172.30:1000");
//首先连接上服务器
$justthese = array("cn","userpassword",”location”);
//搜索函数中的一个参数,要求返回哪些信息,
//以上传回cn,userpassword,location,这些都要求小写
$sr=ldap_search($ds,"o=jite", "cn=dom*",$justthese);
//第一个参数开启LDAP的代号
//第二个参数最基本的 dn 条件值 , 例:”o=jite,c=cn”
//第三个参数 filter 为布林条件,它的语法可以在 Netscape 站上找一份 dirsdkpg.pdf 档案.
// ’o’为组织名,’cn’ 为用户名,用户名可用通配符 ’*’
echo "domadmin姓氏有".ldap_count_entries($ds,$sr)." 个
";
//ldap_count_entries($ds,$sr)传回记录总数
$info = ldap_get_entries($ds, $sr);
//LDAP的全部传回资料
echo "资料传回 ".$info["count"]."笔:
";
for ($i=0; $iecho "dn为:". $info[$i]["dn"] ."
";
echo "cn为:". $info[$i]["cn"][0] ."
"; //显示用户名
echo "email为:". $info[$i]["mail"][0] ."
"; //显示mail
echo "email为:". $info[$i][“userpassword"][0] ."
"; //显示加密后的密码
}
2.3 添加用户
$ds=ldap_connect("10.31.172.30:1000");
//首先连接上服务器
$r=ldap_bind($ds,"cn=domadmin,o=jite","password");
//系住一个管理员,有写的权限
// cn=domadmin,o=jite顺序不能变
$info["cn"]="aaa"; //必填
$info["userpassword"]="aaa";
$info["location"]="shanghai";
$info["objectclass"] = "person"; //必填person为个人,还有server…
ldap_add($ds, "cn=".$info["cn"].",o=jite", $info);
ldap_unbind($ds);
//取消绑定
ldap_close($ds);
//关闭连接
2.4 删除用户
$ds=ldap_connect("10.31.172.30:1000");
//首先连接上服务器
ldap_bind($ds,"cn=domadmin,o=jite","password");
//绑定管理员,有删除的权限
$dn="cn=dingxf,o=jite";
ldap_delete($ds, $dn);
//删除用户
ldap_unbind($ds);
//取消绑定
ldap_close($ds);
//关闭连接
2.5 修改用户资料
$ds=ldap_connect("10.31.172.30:1000");
//首先连接上服务器
ldap_bind($ds,"cn=domadmin,o=jite","password");
//绑定管理员,有修改的权限
$dn="cn=dingxf,o=jite";
//用户dn
$info["userpassword"]="aaa"; //要修改的信息,放在数组变量中
$info["location"]="shanghaisdaf";
ldap_modify($ds, $dn , $info);
//修改函数
ldap_unbind($ds);
//取消绑定
ldap_close($ds);
//关闭连接
2.6 用户登录验证
$ds=ldap_connect("10.31.172.30:1000");
//首先连接上服务器
if (ldap_bind($ds,"cn=dingxf,o=jite","dingxf")){
echo "验证通过";
}else{
echo "验证不通过";
}
ldap_unbind($ds);
//取消绑定
ldap_close($ds);
//关闭连接
注:此方法比较简单,实用,它也有不足之处,如果不通过,ldap_bind()提示它自带的提示语:”Warning: LDAP: Unable to bind to server: Inappropriate authentication in /home/htdocs/jldl.net/ldap/test.php3 on line 16”

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Wenn die Essenz der SQL-Injektion darin besteht, Zeichenfolgen zu spleißen, ist die LDAP-Injektion als eine Art Injektion keine Ausnahme. Interessanter ist, dass es sich um das Spleißen von Klammern handelt (SQL-Injektion). verkettet auch Klammern, es ist jedoch konventioneller zu sagen, dass es Zeichenfolgen verkettet). Im Kapitel zur Umgebungskonfiguration wurde die Konfiguration der LDAP-Umgebung in Bee-Box ausführlich besprochen. Im Übungskapitel zum Schießstand geht es mehr um den Verbindungsprozess zwischen PHP und LDAP, die Einführung der in der Mitte verwendeten Sonderfunktionen einige Techniken zum Zusammenfügen von Klammern. Lassen Sie uns zunächst über den Anmeldevorgang des LDAP-Schießstands in bwapp sprechen: Erstens handelt es sich um eine LDAP-Anmeldeschnittstelle, die URL lautet http://192.168.3.184/bW

1. LDAP-Injection LDAP (Light Directory Access Portocol) ist ein leichtes Verzeichniszugriffsprotokoll, das auf dem X.500-Standard basiert. Es stellt Dienste und Protokolle für den Zugriff auf Verzeichnisdatenbanken bereit. Es wird häufig zur Bildung von Verzeichnisdiensten mit Verzeichnisdatenbanken verwendet. Das Verzeichnis ist eine professionelle verteilte Datenbank, die für Abfragen, Durchsuchen und Suchen optimiert ist. Es organisiert Daten in einer Baumstruktur, ähnlich dem Dateiverzeichnis in Linux/Unix-Systemen. Daten, die nicht häufig geändert werden, wie z. B. öffentliche Zertifikate, Sicherheitsschlüssel und Informationen zu physischen Unternehmensgeräten, eignen sich für die Speicherung im Verzeichnis. LDAP kann als Suchprotokoll verstanden werden, das SQL ähnelt und über eine Abfragesyntax verfügt, jedoch auch das Risiko von Injektionsangriffen birgt. Die LDAP-Injection bezieht sich auf den Client

Bei der Entwicklung von Webanwendungen mit PHP müssen wir häufig die LDAP-Authentifizierung verwenden, um den Anwendungszugriff zu schützen. Wenn wir jedoch versuchen, die LDAP-Funktionalität von PHP zur Implementierung der Authentifizierung zu verwenden, kann es in einigen Fällen zu der folgenden Fehlermeldung kommen: „PHPFatalerror:Calltoundefinedfunctionldap_bind()“. Diese Fehlermeldung tritt normalerweise auf, wenn eine Anwendung die Funktion ldap_bind() aufruft

1. Überblick Nach meinem Lernprozess muss ich das Modell und die Schwachstelle meines Webangriffs kennen. Jetzt bin ich auf eine unerwartete Situation gestoßen. Das erste Mal, dass ich LDAP gesehen habe Ich habe ein unbeliebtes (autorisiertes) gefunden und mein Interesse daran geweckt. Das Konzept von LDAP: Vollständiger Name: Lightweight Directory Access Protocol (Lightweight Directory Access Protocol), Merkmale: Ich werde nicht über das Protokoll sprechen, es ist zu esoterisch, es kann als Datenbank zum Speichern von Daten verstanden werden, seine Besonderheit ist das Es handelt sich um einen Baum in Form einer Datenbank

Viele Spieler verwenden jetzt gerne DS4-Controller, weil sie in Windows-Systemen einen DS4 installieren können, um die Einstellungen zu erweitern. Nach der Aktualisierung des Systems stellen sie jedoch fest, dass Win11 DS4 nicht verwenden kann. Zu diesem Zeitpunkt können wir versuchen, den Treiber zu aktualisieren Problem. Lösung, warum Win11 DS4 nicht verwenden kann: 1. Zuerst verbinden wir den DS4-Controller mit dem Computer. 2. Klicken Sie nach dem Herstellen der Verbindung mit der rechten Maustaste auf „Dieser Computer“, um „Verwaltung“ zu öffnen. 3. Geben Sie „Geräte-Manager“ in die linke Spalte ein. 4. Erweitern Sie „Human Interface Devices“ und doppelklicken Sie, um das Gerät „HID-kompatibler Gamecontroller“ zu öffnen . 5. Rufen Sie nach dem Öffnen die Registerkarte „Treiber“ auf und klicken Sie auf „Gerät deinstallieren“, um es zu deinstallieren. 6. Nachdem die Deinstallation abgeschlossen ist, trennen wir den DS

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

LDAP (LightweightDirectoryAccessProtocol) ist ein Protokoll für den Zugriff auf verteilte Verzeichnisdienste. Es kann für Aufgaben wie Benutzerauthentifizierung, Autorisierung, Kontopflege und Datenspeicherung verwendet werden. In PHP-Anwendungen kann LDAP als leistungsstarker Authentifizierungsmechanismus verwendet werden, um leistungsstarke Authentifizierungs- und Autorisierungsfunktionen für Anwendungen bereitzustellen. In diesem Artikel wird die Verwendung von LDAP zur Benutzerauthentifizierung in PHP vorgestellt. Der spezifische Inhalt umfasst: Installation und Konfiguration L

Mit der Zunahme von Sicherheitslücken in Netzwerken sind LDAP-Injection-Angriffe zu einem Sicherheitsrisiko für viele Websites geworden. Um die Sicherheit der Website zu schützen und LDAP-Injection-Angriffe zu verhindern, müssen einige Sicherheitsmaßnahmen eingesetzt werden. Unter anderem kann uns Nginx als leistungsstarker Webserver und Reverse-Proxy-Server viel Komfort und Schutz bieten. In diesem Artikel wird erläutert, wie Sie Nginx verwenden, um LDAP-Injection-Angriffe zu verhindern. LDAP-Injection-Angriff Der LDAP-Injection-Angriff ist eine Angriffsmethode, die auf die LDAP-Datenbank abzielt
