29 ก.ย.54 มีโอกาสต้องสืบค้นข้อมูลบน ldap server เดิมทีจะใช้ ldap client ติดต่อเข้าไป ซึ่งเป็นซอฟท์แวร์ที่ต้องมีการติดตั้ง หากต้องการตรวจสอบผ่านเว็บเพจก็ต้องเขียน script ขึ้น เพื่อให้สามารถใช้บริการจากเครื่องใดก็ได้ในระบบ LAN ที่มีไอพีขึ้นต้นด้วย 172 (ตาม script)
มีตัวอย่าง php script ดังนี้
<? // config $host = "ldap://xxx.xxx.xxx"; $domain = "xxxxx"; $pass = "xxx"; // form if (!isset($_POST["act"]) && substr($_SERVER["REMOTE_ADDR"],0,3) == "172"){
?> <form action="" method="post">uid <input name=uid><br> <select name=ou size=8> <option value="ou=MANAGER,ou=SALE">Manager</option> <option value="ou=STAFF,ou=SALE">Staff</option> </select> <br>form password <input name=fpass type=password> <br><input type=submit name=act value=check> </form> <? exit; } if ($_POST["fpass"] != "xxxx") { echo "invalid"; exit; } // $baseDn2 = 'uid='.$_POST["uid"].','.$_POST["ou"].',dc='.$domain.',dc=com'; $baseDn1 = 'cn=Manager,dc='.$domain.',dc=com'; // $ldap = ldap_connect($host); ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3); $b = ldap_bind($ldap,$baseDn1,$pass) or die("bind died"); if($b) echo "<pre>{$_POST["uid"]} \n"; $result = ldap_search($ldap, $baseDn2,"(cn=*)"); $rec = ldap_get_entries($ldap,$result); if (!isset($rec[0]["data"][0])) echo "not found"; else echo $rec[0]["data"][0]; ldap_unbind($ldap); ?>
One thought on “สร้างบริการตรวจข้อมูลบน ldap”