linux ldap认证:windos 和 linux 下实现PHP和LDAP身份认证
我现在的老板曾要求我为企业内部互联网的Web服务提供一种标准的身份验证方法。我遇到的一个主要问题就是我们公司主要使用了两种平台:UNIX和Windows。所以,我的第一个想法并不很成功:它要求每个员工都使用UNIX或者Linux而放弃Windows。
我认为解决现在的UNIX/Windows问题的最好方法就是利用PHP的LDAP特性。由于LDAP服务器,要求我使用现有的系统,主要指的是一个巨大的Microsoft Exchange Server系统。我非常高兴使用Exchange,它很可靠,而且LDAP特性的使用和配置也极为简单。不过,请你注意:这套方案就身份验证角度来看并不是最安全的。如果有较高等级的安全需求,我强烈建议你采用LDAP和SSL。
从哪里开始学习
为了让你入门,我给出了一个PHP LDAP函数的清单并对函数的功能给以简要说明。然后,我将演示如何建立到LDAP服务器的连接并验证用户。为了代码简单起见,我将演示PHP连接的功能以及如何绑定到LDAP服务器。
一对绝配:PHP和LADP
下面是我在例子中将要使用的函数的清单。网上有相关资料。
ldap_connect—用来连接LDAP服务。
ldap_bind—用来绑定到特定的LDAP目录。
ldap_error—从LDAP服务器上获得错误信息。
ldap_search—用来开始搜索。
ldap_get_entries—从搜索结果中获得多个结果。
ldap_close—关闭LDAP连接。
现在我在例子中演示如何使用第一个函数(代码清单A)并适当介绍该函数的功能。
// LDAP variables
$ldap[‘user’] = ‘uname’;
$ldap[‘pass’] = ‘password’;
$ldap[‘host’] = ‘ldap.example.com’;
$ldap[‘port’] = 389;
$ldap[‘dn’] = ‘cn’.$ldap[‘user’].’,ou=Department,o=Company Name’;
$ldap[‘base’] = ‘’;
// connecting to ldap
$ldap[‘conn’] = ldap_connect( $ldap[‘host’], $ldap[‘port’] )
or die( “Could not connect to {$ldap[‘host’]}” );
?>
将会返回一个到LDAP服务器的连接(也称为资源,即resource)。ldap_connect函数有两个参数:主机(host)和端口。第一个参数:主机就是LDAP主机名称,第二个参数是LDAP运行的端口。默认情况下,LDAP使用的端口号为389。如果你需要到LDAP服务器的一个安全连接,你可以把参数host改为一个你可以访问的LDAP服务器的URL,如下所示:
$ldap[‘conn’] = ldap_connect( “ldaps://ldap.example.com” );
由于你指定了URL而不是服务器名称,在这种方法下,你就不需要使用端口参数了。需要牢记的一点就是确切名称需要与加密套接字协议层证书(the SSL certificate)对应。
// LDAP variables
$ldap[‘user’] = ‘uname’;
$ldap[‘pass’] = ‘password’;
$ldap[‘host’] = ‘ldap.example.com’;
$ldap[‘port’] = 389;
$ldap[‘dn’] = ‘cn’.$ldap[‘user’].’,ou=Department,o=Company Name’;
$ldap[‘base’] = ‘’;
// connecting to ldap
$ldap[‘conn’] = ldap_connect( $ldap[‘host’], $ldap[‘port’] )
or die( “Could not connect to {$ldap[‘host’]}” );
// binding to ldap
$ldap[‘bind’] = ldap_bind( $ldap[‘conn’], $ldap[‘dn’], $ldap[‘pass’] );
?>
演示了如何用用户名和口令来绑定到服务器。我创建了一个合适的域名(domain name ,DN)并用用户的口令来合法连接到LDAP。我们通过使用域名和口令就可以让LDAP服务器通过身份认证并允许绑定连接,这样我们就成功的绑定上了。ldap_bind的返回值是一个布尔类型。我们可以根据返回值判断用户的登录证书是否有效。当这个过程结束后,你就可以知道用户身份是否得到了认证。
如果发生了错误会怎样?调用ldap_error函数是判断发生了什么错误的好方法。ldap_error函数返回了一个字符串,其中包含了LDAP服务器发生的最后错误的信息。
在
// LDAP variables
$ldap[‘user’] = ‘uname’;
$ldap[‘pass’] = ‘password’;
$ldap[‘host’] = ‘ldap.example.com’;
$ldap[‘port’] = 389;
$ldap[‘dn’] = ‘cn’.$ldap[‘user’].’,ou=Department,o=Company Name’;
$ldap[‘base’] = ‘’;
// connecting to ldap
$ldap[‘conn’] = ldap_connect( $ldap[‘host’], $ldap[‘port’] )
or die( “Could not connect to server {$ldap[‘host’]} );
// binding to ldap
$ldap[‘bind’] = ldap_bind( $ldap[‘conn’], $ldap[‘dn’], $ldap[‘pass’] );
if( !$ldap[‘bind’] )
{
echo ldap_error( $ldap[‘conn’] );
exit;
}
?>
中,我向脚本中添加了ldap_error函数,如果绑定到LDAP服务器的用户身份没有得到确认,那么代码将退出运行。该函数返回一个字符串,该字符串包含了发送到LDAP服务器的最后一条指令产生的错误信息。如果你按给定用户名和口令的绑定没有成功登录,那么错误信息将包含这对无效的用户名和口令。
在我们的最后一个例子中
// LDAP variables
$ldap[‘user’] = ‘uname’;
$ldap[‘pass’] = ‘password’;
$ldap[‘host’] = ‘ldap.example.com’; 本文链接http://www.cxybl.com/html/wlbc/Php/20121126/34395.html

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Récemment, de nombreux utilisateurs de Win11 ont signalé que lors de l'arrêt, ils sont invités à indiquer que l'hôte de la tâche taskhostwindow exécute la tâche d'arrêt. Alors, que se passe-t-il ? Les utilisateurs peuvent accéder au dossier Bureau sous l'éditeur de registre local, puis sélectionner AutoEndTasks dans la fenêtre de droite pour le définir. Laissez ce site présenter soigneusement aux utilisateurs la solution à ce problème lors de la fermeture. L'arrêt de Windows 11 indique que l'hôte de la tâche taskhostwindow exécute la tâche d'arrêt. Solution 1. Utilisez la combinaison de touches win key + r key, entrez « regedit » et appuyez sur Entrée, comme indiqué dans la figure ci-dessous. 2. Recherchez [HKEY

Lorsque nous lançons le Gestionnaire des tâches pour terminer une tâche ou arrêter une application, nous trouvons généralement un grand nombre de processus en cours d'exécution. C'est tout à fait normal. Cependant, nous voyons parfois des programmes qui utilisent des ressources système dont nous ignorons complètement l’existence. L'un de ces processus est l'agrégateur host.exe, qui a récemment semé une certaine confusion parmi les utilisateurs. Certains de ces processus peuvent être des exigences légitimes de Windows, mais d'autres peuvent être des programmes malveillants s'exécutant en arrière-plan et causant des problèmes à l'insu ou sans le consentement de l'utilisateur. Après avoir vu les cinq façons de lancer le Gestionnaire des tâches dans Windows 11, nous vous montrerons comment vérifier si l'agrégateur host.exe est sûr ou s'il s'agit d'un virus. continuez

Les différences entre le maître et l'hôte sont les suivantes : 1. L'hôte peut jouer le rôle de client ou de serveur, tandis que le maître est le serveur central chargé de coordonner et de gérer les autres serveurs esclaves dans un système distribué. 2. L'hôte est un périphérique informatique ordinaire et le maître ; a généralement une puissance de traitement plus élevée et les ressources sont utilisées pour traiter et distribuer les tâches, gérer les données et maintenir la stabilité de l'ensemble du système 3. L'hôte est un nœud du réseau et le maître est le serveur qui joue un rôle central dans le système distribué.

Les solutions « pas de route vers l'hôte » incluent la vérification de la connexion réseau, la vérification de l'adresse IP et du port, la vérification de la configuration du pare-feu, la vérification de la configuration du routage, la vérification de la configuration du périphérique réseau, la vérification de l'état du service réseau, la vérification de la configuration réseau et la prise de contact. l'administrateur du réseau. Introduction détaillée : 1. Vérifiez la connexion réseau pour vous assurer que la connexion réseau entre le client et l'hôte cible est normale. Vous pouvez essayer de tester la connectivité réseau via la commande ping ou d'autres outils réseau, et vérifier si les périphériques matériels tels que les câbles réseau. , les réseaux sans fil et les routeurs fonctionnent correctement. Assurez-vous que la connexion réseau est stable, etc.

1. Injection LDAP LDAP (Light Directory Access Portocol) est un protocole d'accès aux annuaires léger basé sur la norme X.500. Il fournit des services et des protocoles pour accéder aux bases de données d'annuaire. Il est souvent utilisé pour former des services d'annuaire avec des bases de données d'annuaire. Le répertoire est une base de données distribuée professionnelle optimisée pour les requêtes, la navigation et la recherche. Il organise les données dans une structure arborescente, similaire au répertoire de fichiers des systèmes Linux/Unix. Les données qui ne sont pas fréquemment modifiées, telles que les certificats publics, les clés de sécurité et les informations sur les appareils physiques de l'entreprise, peuvent être stockées dans l'annuaire. LDAP peut être compris comme un protocole de recherche similaire à SQL et doté d'une syntaxe de requête, mais qui présente également un risque d'attaques par injection. L'injection LDAP fait référence au client

Si l'essence de l'injection SQL est d'épisser des chaînes, alors l'essence de tout ce qui peut être injecté est d'épisser des chaînes. L'injection LDAP ne fait pas exception en tant que type d'injection. Ce qui est plus intéressant, c'est qu'il s'agit d'épisser des parenthèses (l'injection SQL l'est). concatène également les parenthèses, mais il est plus conventionnel de dire qu'il concatène les chaînes). Dans le chapitre sur la configuration de l'environnement, la configuration de l'environnement ldap dans bee-box a été discutée en détail. Le chapitre pratique sur le stand de tir porte davantage sur le processus de connexion entre php et ldap, l'introduction des fonctions spéciales utilisées au milieu et quelques techniques pour épisser les parenthèses. Parlons d'abord du processus de connexion du stand de tir LDAP dans bwapp : Tout d'abord, il s'agit d'une interface de connexion LDAP, l'URL est http://192.168.3.184/bW

Le fichier hôte se trouve sous le chemin « C:\Windows\System32\drivers\etc » ; le fichier hôte est un fichier texte brut qui peut être ouvert avec un logiciel d'édition de texte ordinaire, tel que le Bloc-notes. pour contenir la relation de mappage d'adresse IP avec le nom d'hôte.

1. Présentation Selon mon processus d'apprentissage, je dois connaître le modèle et la vulnérabilité de mon attaque Web. La première fois que j'ai vu LDAP, c'était lors d'un test d'intrusion dans une entreprise publique. j’en ai trouvé un impopulaire (autorisé) et j’ai piqué mon intérêt pour celui-ci. Le concept de LDAP : nom complet : Lightweight Directory Access Protocol (Lightweight Directory Access Protocol), caractéristiques : je ne parlerai pas du protocole, c'est trop ésotérique, on peut le comprendre comme une base de données pour stocker des données, sa particularité est que c'est un arbre Une base de données en forme de
