大家好! ideablog 的使用者很少, 所以我从发布第一版后就没有更新. 今天发布新版本 1.1. 十分感谢 minahboy 朋友对 ideablog 的反馈信息, 是他的反馈让知道如何写新的版本. 同时我希望更多的人能够使用 ideablog, 向我提供关于功能要求等信息. 我将十分感谢.
-
2007-06-04
ideablog 发布新版本 1.1
Views: 14800 | 4 Comments -
2007-05-25
PHP LDAP连接微软活动目录进行身份验证
Views: 24473 | 6 Comments如果使用活动目录(Active Directory)代替在数据库表中建立账号, 你可以使用原来Windows网络中的账号.
LDAP, 轻量级目录访问协议(Lightweight Directory Access Protocol), 是用来访问微软的活动目录等目录服务器(DS, Directory Server)的协议. PHP默认支持LDAP.
下面是使用LDAP进行用户身份验证的PHP程序. 在微软的活动目录中, 用户的唯一标识是"samaccountname", 有些DS是"uid". 方法是:
- 用有权限的账号的dn(形如 cn=user_name,ou=web,dc=ideawu,dc=com)连接LDAP Server.
- 根据登录用户的名字查询其dn.
- 用该dn连接LDAP Server. 如果连接上就是登录成功.
注意! 微软的活动目录服务器可以使用空账号连接成功(设置问题? 默认? 特例?)!
$userid = $_POST['userid']; $user_password = $_POST['password']; if($userid && $user_password){ // config // $ldap_server = "ideawu.com"; // $ldap_admin = "user_name"; // $ldap_password = "xxx"; // $base_cn = "ou=web,dc=ideawu,dc=com"; $conn = ldap_connect($ldap_server); if(!$conn){ die("<br>Connection LDAP server error"); } $bind = ldap_bind($conn, $ldap_admin, $ldap_password); if(!$bind){ die("<br>Bind LDAP server error"); } $filter = 'samaccountname=' . $userid; $attributes = array('mail'); $result = ldap_search($conn, $base_dn, $filter, $attributes); $info = ldap_get_entries($conn, $result); if(!$result){ die("<br>Search failed"); } if($info["count"] != 0){ $user_dn = $info[0]["dn"]; unset($bind2); $bind2 = @ldap_bind($conn, $user_dn, $user_password); if($bind2){ // Login done. Set session } } ldap_close($conn); }
-
2007-01-17
开放源码的 ideablog 发布
Views: 14928 | 4 Comments开放源码的 ideablog 发布, 在 http://www.ideawu.com/blog/ . 如果你无法访问, 请用Email向我索取源代码.
-
2006-12-21
手机铃声和集团彩铃的网站系统
Views: 12973 | Comments Off最近做了个集团彩铃的网站系统, 集团彩铃就是为企业定做的彩铃. 包括铃声上传, 铃声在线试听等功能, 还有一个新闻发布系统. 功能与 cailing.bj.cn 相似. 我做的时候考虑了扩展性, 以后可以发展为一个手机彩铃系统或者音乐系统. 比如像 tom.com 的手机铃声系统.
呵呵, 我以前在 tom.com, sohu.com 和 qq.com 买了几条手机铃声呢. 这种网站只要跟通信公司买个接口, 就卖每条铃声 1-4 元. 怪不得说彩铃救了 sohu.
如需购买请联系.
-
2006-11-30
写自己的 http_build_query
Views: 16992 | No Comments我们知道, PHP的 parse_str() 函数可以将 URL Query 格式的字符串解析成关联数组, 与PHP生成 $_GET 使用的相同的策略. parse_str() 的"反函数"是 http_build_query(), 它将关联数组和对象生成 URL Query 字符串. 不过, 只在PHP5之后才被支持. 所以, 我们需要编写自己的 http_build_query()
function my_http_build_query($data){ $str = ''; foreach($data as $key=>$value){ foreach(child_str($value) as $v){ $str .= "$key$v&"; } } return substr($str, 0, strlen($str)-1); } function child_str($data){ $str = array(); if(is_array($data)){ foreach($data as $key=>$value){ foreach(child_str($value) as $v){ $str[] = "[$key]$v"; } } }else{ // do url encoding here $data = str_replace('&', '%26', '='.$data); $str[] = $data; } return $str; }
-
2006-11-18
我在写一个PHP+MySQL博客
Views: 15286 | 4 Comments我要写PHP程序了, 因为Java的布署环境成本太高, 导致很少人学习Java Web, 所以我写的Java程序受关注太少. 而且, 经过前段时间我又一次重新拾取PHP, 发现PHP在我知道的很多方面比Java/Jsp更有优势, 所以我要开始写PHP程序了.
首先, PHP的调试是方便的. 其次, PHP的执行速度足够快速. 再次, PHP和许多脚本语言一样, 非常灵活.