Heim >Backend-Entwicklung >PHP-Problem >So ändern Sie das Passwort in LDAP PHP

So ändern Sie das Passwort in LDAP PHP

藏色散人
藏色散人Original
2021-05-11 09:21:282123Durchsuche

So ändern Sie das Passwort in ldap php: Suchen Sie zuerst die Formularseite „ldap.html“; öffnen Sie dann die Verarbeitungslogikseite „ldap.php“ und ändern Sie schließlich den Code in „$_POST[“new_pass1“];if ( !$old_pass) {return...}“ reicht aus.

So ändern Sie das Passwort in LDAP PHP

Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.1, DELL G3-Computer

php zur Implementierung der Änderung des LDAP-Kontokennworts

Formularseite ldap.html

<html><body><form action="ldap.php" method="post">帐号名: <input type="text" name="acc_name"><br>旧密码: <input type="text" name="old_pass"><br>新密码: <input type="text" name="new_pass"><br>
 Again: <input type="text" name="new_pass1"><br><input type="submit"></form></body></html>

Verarbeitungslogik LDAP .php

<html>
<body> <?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[&#39;userPassword&#39;][0];
$db_pass2 = &#39;{SHA}&#39; . base64_encode(pack(&#39;H*&#39;, sha1($old_pass)));if ($db_pass1 != $db_pass2) {return "密码错误";
}return "suc";
$user_dn = ldap_get_dn($ldap_conn, $entry);
$new["userPassword"] = &#39;{SHA}&#39; . base64_encode(pack(&#39;H*&#39;, sha1($new_pass)));
ldap_modify($ldap_conn, $user_dn, $new);
ldap_close($ldap_conn);
}echo ChangePass();echo "<a href=\"ldap.html\">重新修改</a>" 
 ?></body>
</html>

empfohlene Studie: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo ändern Sie das Passwort in LDAP PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn