表单页面 ldap.html
帐号名:
旧密码:
新密码:
Again:
处理逻辑ldap.php
function ChangePass() {
$acc_name = $_POST["acc_name"];
$old_pass = $_POST["old_pass"];
$new_pass = $_POST["new_pass"];
$new_pass1 = $_POST["new_pass1"];
if (!$old_pass) {
return "请输入旧密码。";
}
if (!$new_pass || !$new_pass1) {
return "请输入新密码。";
}
if ($new_pass != $new_pass1) {
return "新前后密码不一致!!!";
}
$ldap_conn = ldap_connect("ldap://192.168.1.14:389");
if (!$ldap_conn) {
return "服务器连接失败!!!";
}
ldap_set_option($ldap_conn, LDAP_OPT_PROTOCOL_VERSION, 3);
$bind = ldap_bind($ldap_conn, "cn=admin,dc=xidea,dc=com", "jcd520");
if (!$bind) {
return "error";
}
$dn = "ou=people,dc=xidea,dc=com";
$res = ldap_search($ldap_conn, $dn, "(uid=".$acc_name.")");
if (!$res) {
return "账号不存在1";
}
$entry = ldap_first_entry($ldap_conn, $res);
if (!$entry) {
return "账号不存在";
}
$attrs = ldap_get_attributes ( $ldap_conn, $entry);
$db_pass1 = $attrs['userPassword'][0];
$db_pass2 = '{SHA}' . base64_encode(pack('H*', sha1($old_pass)));
if ($db_pass1 != $db_pass2) {
return "密码错误";
}
return "suc";
$user_dn = ldap_get_dn($ldap_conn, $entry);
$new["userPassword"] = '{SHA}' . base64_encode(pack('H*', sha1($new_pass)));
ldap_modify($ldap_conn, $user_dn, $new);
ldap_close($ldap_conn);
}
echo ChangePass();
echo "重新修改"
?>