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

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Baru-baru ini, ramai pengguna Win11 telah melaporkan bahawa apabila menutup, mereka digesa bahawa hos tugas taskhostwindow sedang melaksanakan tugas penutupan. Jadi apa yang sedang berlaku? Pengguna boleh memasukkan folder Desktop di bawah editor pendaftaran tempatan, dan kemudian pilih AutoEndTasks dalam tetingkap kanan untuk menetapkannya. Biarkan tapak web ini dengan teliti memperkenalkan kepada pengguna penyelesaian kepada masalah ini apabila ditutup. Penutupan Windows 11 menggesa bahawa hos tugas taskhostwindow sedang melaksanakan tugas penutupan 1. Gunakan kekunci kombinasi kekunci win + r, masukkan "regedit" dan tekan Enter, seperti yang ditunjukkan dalam rajah di bawah. 2. Cari [HKEY

Apabila kami melancarkan Pengurus Tugas untuk menamatkan tugas atau menghentikan aplikasi, kami biasanya mendapati sejumlah besar proses berjalan. Ini adalah perkara biasa. Walau bagaimanapun, kadangkala kita melihat program yang menggunakan sumber sistem yang kita langsung tidak sedar. Salah satu proses ini ialah aggregator host.exe, yang telah menyebabkan beberapa kekeliruan di kalangan pengguna baru-baru ini. Sesetengah proses ini mungkin keperluan Windows yang sah, tetapi yang lain mungkin program berniat jahat yang berjalan di latar belakang dan menyebabkan masalah tanpa pengetahuan atau persetujuan pengguna. Selepas kami melihat lima cara anda boleh melancarkan Pengurus Tugas dalam Windows 11, kami akan menunjukkan kepada anda cara untuk menyemak sama ada aggregator host.exe selamat atau virus. teruskan

Perbezaan antara tuan dan tuan rumah ialah: 1. Hos boleh memainkan peranan sebagai pelanggan atau pelayan, manakala tuan adalah pelayan pusat yang bertanggungjawab untuk menyelaras dan menguruskan pelayan hamba lain dalam sistem teragih; biasanya mempunyai kuasa pemprosesan yang lebih tinggi dan sumber digunakan untuk memproses dan mengagihkan tugas, mengurus data, dan mengekalkan kestabilan keseluruhan sistem 3. Hos ialah nod dalam rangkaian, dan tuan adalah pelayan yang memainkan peranan utama dalam sistem teragih.

Penyelesaian kepada "tiada laluan ke hos" termasuk menyemak sambungan rangkaian, menyemak alamat IP dan port, menyemak konfigurasi tembok api, menyemak konfigurasi penghalaan, menyemak konfigurasi peranti rangkaian, menyemak status perkhidmatan rangkaian, menyemak konfigurasi rangkaian dan menghubungi pentadbir rangkaian. Pengenalan terperinci: 1. Semak sambungan rangkaian untuk memastikan sambungan rangkaian antara klien dan hos sasaran adalah normal Anda boleh cuba menguji ketersambungan rangkaian melalui arahan ping atau alat rangkaian lain, dan semak sama ada peranti perkakasan seperti kabel rangkaian , rangkaian wayarles dan penghala berfungsi dengan betul Pastikan sambungan rangkaian stabil, dsb.

1. Suntikan LDAP LDAP (Light Directory Access Portocol) ialah protokol akses direktori ringan berdasarkan standard X.500 Ia menyediakan perkhidmatan dan protokol untuk mengakses pangkalan data direktori. Ia sering digunakan untuk membentuk perkhidmatan direktori dengan pangkalan data direktori. Direktori ialah pangkalan data teragih profesional yang dioptimumkan untuk pertanyaan, menyemak imbas dan carian Ia mengatur data dalam struktur pokok, serupa dengan direktori fail dalam sistem Linux/Unix. Data yang tidak kerap diubah suai, seperti sijil awam, kunci keselamatan dan maklumat peranti fizikal syarikat, sesuai untuk penyimpanan dalam direktori. LDAP boleh difahami sebagai protokol carian, yang serupa dengan SQL dan mempunyai sintaks pertanyaan, tetapi juga mempunyai risiko serangan suntikan. Suntikan LDAP merujuk kepada pelanggan

Jika intipati suntikan sql adalah untuk menyambung rentetan, maka intipati segala yang boleh disuntik adalah untuk menyambungkan rentetan LDAP tidak terkecuali sebagai sejenis suntikan Apa yang lebih menarik adalah bahawa ia adalah kurungan splicing juga menggabungkan kurungan, tetapi lebih konvensional untuk mengatakan bahawa ia menggabungkan rentetan). Dalam bab konfigurasi persekitaran, konfigurasi persekitaran ldap dalam kotak lebah telah dibincangkan secara terperinci Bab latihan jarak tembak adalah lebih lanjut mengenai proses sambungan antara php dan ldap, pengenalan fungsi khas yang digunakan di tengah, dan. beberapa teknik penyambungan kurungan. Mari kita bincangkan dahulu tentang proses log masuk julat penangkapan ldap di bwapp: Pertama, ini ialah antara muka log masuk LDAP, URLnya ialah http://192.168.3.184/bW

1. Gambaran Keseluruhan Menurut proses pembelajaran saya, saya mesti tahu apakah model dan kelemahan serangan web saya Sekarang saya telah menghadapi situasi yang tidak dijangka menemui yang tidak popular (dibenarkan) dan menarik minat saya terhadapnya. Konsep LDAP: Nama penuh: Lightweight Directory Access Protocol (Lightweight Directory Access Protocol), ciri: Saya tidak akan bercakap tentang protokol, ia terlalu esoterik, ia boleh difahami sebagai pangkalan data untuk menyimpan data, ciri khasnya ialah ia adalah pokok Pangkalan data dalam bentuk pangkalan data Pertama, nama pangkalan data adalah bersamaan dengan akar pokok (iaitu DB=dc), dan kemudian proses dari akar ke nod daun adalah.

host文件位于路径“C:\Windows\System32\drivers\etc”下;host文件是一个纯文本的文件,用普通的文本编辑软件,如记事本等都能打开;host文件的作用是包含IP地址和Host name主机名的映射关系。
