php修改ldap用户密码程序(如何修改ldap密码)

发布时间:2022-11-16

本文目录一览:

  1. php 如何修改密码?基于文本
  2. 如何使用PHP修改数据库中的用户密码,并在网页输入中能实现再次输入新密码的验证?
  3. 其他应用连接ldap可以修改密码么
  4. PHP修改密码的代码
  5. php ldap修改ad域用户密码,我的userPassword已经修改成功了,为什么用户登录的时候还是原密码,求解释?

php 如何修改密码?基于文本

呵呵,如果你的数据文件不太大的话,可以用正则替换实现:

$data_file="data.txt";
$user='user1';
$new_password='admin123';
$userinfo=file_get_contents($data_file);
$new_userinfo = preg_replace("/($user)\|(\w+)\|(\w+)\|(\w+)\r\n/","$1|$2|$3|$new_password\r\n",$userinfo);
file_put_contents($data_file,$new_userinfo);

如果数据文件很大,一行行读出逐行匹配比较好。

如何使用PHP修改数据库中的用户密码,并在网页输入中能实现再次输入新密码的验证?

<b>管理员修改密码界面</b>
<hr>
<form action="password2.php?act=insert" method="post">
  <table>
    <tr>
      <td>新密码<input type="password" size="20" name="paw1" /></td>
    </tr>
    <tr>
      <td>再次输入新密码<input type="password" size="20" name="paw2" /></td>
    </tr>
  </table>
  <input type="submit" value="提交" name="tijiao" />
  <input type="reset" value="重置" />
  <a href="interface.php">返回</a>
</form>
<?php
$conn = mysql_connect("localhost", "root", "");
mysql_select_db("users_information", $conn);
?>
<?php
session_start();
$Sid = $_SESSION['username'];
if ($_POST['paw1'] != '') {
  $paw1 = $_POST['paw1'];
  $paw2 = $_POST['paw2'];
  if ($paw1 != $paw2) {
    echo "<script>alert('两次输入的密码不一致,请重新输入!');</script>";
  } else {
    mysql_query("UPDATE admins_information SET Apassword = '" . $paw1 . "' where Aid ='" . $Aid . "'");
    echo "<script>alert('密码修改成功!');window.location='interface2.php';</script>";
  }
}
?>

其他应用连接ldap可以修改密码么

可以的。ldap用户密码的修改可以使用 ldappasswd 命令,也可以使用万能的 ldapmodify 结合 ldif 文件来实现,但所修改的都是普通的用户,cn=admin 的管理员用户的修改一般可以通过 slappasswd 来进行,由于本系列使用了 openldap 的 docker 镜像,此项功能已被封装,通过设定环境变量即可轻易实现。

修改密码的常用方式

  • ldappasswd 命令
  • ldapmodify 命令结合 ldif 文件
  • slappasswd 命令

管理员密码的设定

管理员密码的设定可以通过 slappasswd,由于本系列文章的示例使用了 osixia 的 openldap 镜像,cn=admin 的密码设定,只需要对环境变量 LDAP_ADMIN_PASSWORD 进行设定即可。

PHP修改密码的代码

当用户登陆的时候先保存他的用户名或者 id 到 session,然后修改语句:

UPDATE user SET pwd='新密码' WHERE username='$_SESSION["username"]'

php ldap修改ad域用户密码,我的userPassword已经修改成功了,为什么用户登录的时候还是原密码,求解释?

建议打印出来用户登陆时候的用户和密码,看看用户登陆的时候是不是读取到了 AD 的用户和密码,如果没有读到可能会用原密码。