LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 831|回复: 3

一个验证问题!

[复制链接]
发表于 2003-4-23 23:41:47 | 显示全部楼层 |阅读模式
从表单传的密码(<input type="password" name="p">  )如何跟ldap中的密码相比较?LDAP的加密算法是SSHA,SSHA是不可逆的。我认为应该是将"p"的值用相应的加密算法加密后得到的字符串跟LDAP里的密码比较。可是如何加密"p"的值啊?
发表于 2003-4-24 01:43:43 | 显示全部楼层
一种办法是你使用用户输入的用户名和密码去 ldap 服务器上做一个 bind,成功不成由ldap服务器说了算。

再说很多 ldap 服务器是不可以让用户取回来密码(加密或不加米的)看的。
 楼主| 发表于 2003-4-24 08:28:45 | 显示全部楼层

我是用了bind这种方法不行了才来这里问的。

测试代码如下:
<?php
$password="9807";//这个密码是正确的
$ds=ldap_connect("192.168.0.225");//LDAP已启动且可以访问
$bin=ldap_bind($ds,"dc=lz,dc=com,cn=qinq",$password);
//这句不通过
?>
提示无法bind到LDAP Server

但是如果改下面的样子:
<?php
$password="{ssha}9807";//或者用mhash()来处理过
$ds=ldap_connect("192.168.00.225");
$bin=ldap_bind($ds,""dc=lz,dc=com,cn=qinq",$password);
就可以挷定。可是这样的话密码对或错都可以通过啊!
发表于 2003-4-24 21:47:28 | 显示全部楼层
不好意思,PHP 我都没有用过,所以不太清楚你的例子。
至少我的 C 程序,密码错了就不会bind上了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表