>  기사  >  백엔드 개발  >  LDAP PHP에서 비밀번호를 변경하는 방법

LDAP PHP에서 비밀번호를 변경하는 방법

藏色散人
藏色散人원래의
2021-05-11 09:21:281999검색

ldap php에서 비밀번호를 변경하는 방법: 먼저 양식 페이지 "ldap.html"을 찾은 다음 처리 논리 페이지 "ldap.php"를 열고 마지막으로 코드를 "$_POST["new_pass1"]로 수정합니다. !$old_pass) {return...}"이 전부입니다.

LDAP PHP에서 비밀번호를 변경하는 방법

이 문서의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터

php는 LDAP 계정 비밀번호 수정을 구현합니다.

양식 페이지 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>

처리 논리 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>

추천 학습: "PHP 비디오 튜토리얼"

위 내용은 LDAP PHP에서 비밀번호를 변경하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.