什么是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”

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











sql 인젝션의 본질이 문자열을 이어붙이는 것이라면, 인젝션할 수 있는 모든 것의 본질은 스트링을 이어붙이는 것인데, 일종의 인젝션으로서 LDAP 인젝션도 예외는 아니다. 또한 괄호를 연결하지만 문자열을 연결한다고 말하는 것이 더 관례적입니다. 환경 설정 장에서는 Bee-Box의 LDAP 환경 구성에 대해 자세히 다루었습니다. 사격장 실습 장에서는 PHP와 LDAP의 연결 과정, 중간에 사용되는 특수 기능 소개, 괄호를 연결하는 몇 가지 기술. 먼저 bwapp의 LDAP 사격장의 로그인 프로세스에 대해 이야기하겠습니다. 먼저 이것은 LDAP 로그인 인터페이스이며 URL은 http://192.168.3.184/bW입니다.

1. LDAP 주입 LDAP(Light Directory Access Portocol)는 X.500 표준을 기반으로 하는 경량 디렉터리 액세스 프로토콜로 디렉터리 데이터베이스에 액세스하기 위한 서비스와 프로토콜을 제공합니다. 디렉토리는 질의, 탐색, 검색에 최적화된 전문 분산 데이터베이스로, Linux/Unix 시스템의 파일 디렉토리와 유사한 트리 구조로 데이터를 구성합니다. 공인 인증서, 보안 키, 회사의 물리적 장치 정보 등 자주 수정되지 않는 데이터는 디렉터리에 저장하는 것이 적합합니다. LDAP는 SQL과 유사하고 쿼리 구문이 있지만 주입 공격의 위험이 있는 검색 프로토콜로 이해될 수 있습니다. LDAP 주입은 클라이언트를 참조합니다.

PHP를 사용하여 웹 애플리케이션을 개발할 때 애플리케이션 액세스를 보호하기 위해 LDAP 인증을 사용해야 하는 경우가 많습니다. 그러나 어떤 경우에는 인증을 구현하기 위해 PHP의 LDAP 기능을 사용하려고 할 때 "PHPFatalerror:Calltoundefinitivefunctionldap_bind()"라는 오류 메시지가 나타날 수 있습니다. 이 오류 메시지는 일반적으로 응용 프로그램이 ldap_bind() 함수를 호출할 때 발생합니다.

1. 개요 학습 과정에 따라 웹 공격의 모델과 취약점이 무엇인지 알아야 합니다. 이제 처음으로 LDAP를 접한 것은 공기업의 침투 테스트였습니다. 인기가 없는 것(승인된 것)을 발견하고 그것에 대한 나의 관심을 불러일으켰습니다. LDAP의 개념: 전체 이름: Lightweight Directory Access Protocol(Lightweight Directory Access Protocol), 특징: 프로토콜에 대해서는 언급하지 않겠습니다. 너무 난해하며, 데이터를 저장하기 위한 데이터베이스로 이해할 수 있습니다. 특징은 다음과 같습니다. 데이터베이스 형태의 데이터베이스입니다. 먼저 데이터베이스의 이름은 트리의 루트(즉, DB=dc)와 동일하며 루트에서 리프 노드까지의 프로세스는 다음과 같습니다.

이제 많은 플레이어들이 Windows 시스템에 ds4Windows를 설치하여 설정을 확장할 수 있기 때문에 ds4 컨트롤러를 사용하고 싶어합니다. 그러나 시스템을 업데이트한 후에는 win11에서 ds4를 사용할 수 없다는 사실을 알게 되었으며, 이 문제를 해결하기 위해 드라이버를 업데이트해 볼 수 있습니다. 문제. win11이 ds4를 사용할 수 없는 이유에 대한 해결 방법: 1. 먼저 ds4 컨트롤러를 컴퓨터에 연결합니다. 2. 연결 후 "이 컴퓨터"를 마우스 오른쪽 버튼으로 클릭하여 "관리"를 엽니다. 3. 왼쪽 열에 "장치 관리자"를 입력합니다. 4. "휴먼 인터페이스 장치"를 확장하고 두 번 클릭하여 "HID 호환 게임 컨트롤러" 장치를 엽니다. . 5. 연 후 "드라이버" 탭으로 들어가서 "장치 제거"를 클릭하여 제거합니다. 6. 제거가 완료되면 ds의 플러그를 뽑습니다.

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

LDAP(LightweightDirectoryAccessProtocol)는 분산 디렉터리 서비스에 액세스하기 위한 프로토콜입니다. 사용자 인증, 권한 부여, 계정 유지, 데이터 저장 등의 작업에 사용할 수 있습니다. PHP 애플리케이션에서 LDAP는 애플리케이션에 대한 강력한 인증 및 권한 부여 기능을 제공하는 강력한 인증 메커니즘으로 사용될 수 있습니다. 이 기사에서는 PHP에서 사용자 인증을 위해 LDAP를 사용하는 방법을 소개합니다. 구체적인 내용은 다음과 같습니다. 설치 및 구성.

네트워크 보안 취약점이 증가함에 따라 LDAP 주입 공격은 많은 웹사이트에서 직면한 보안 위험이 되었습니다. 웹사이트 보안을 보호하고 LDAP 주입 공격을 방지하려면 몇 가지 보안 조치를 사용해야 합니다. 그 중 Nginx는 고성능 웹 서버이자 역방향 프록시 서버로서 우리에게 많은 편의성과 보호 기능을 제공할 수 있습니다. 이 기사에서는 Nginx를 사용하여 LDAP 주입 공격을 방지하는 방법을 소개합니다. LDAP 주입 공격 LDAP 주입 공격은 공격자가 LDAP 데이터베이스를 대상으로 하는 공격 방법입니다.
