• 2007-06-04

    ideablog 发布新版本 1.1

    Views: 14800 | 4 Comments

    大家好! ideablog 的使用者很少, 所以我从发布第一版后就没有更新. 今天发布新版本 1.1. 十分感谢 minahboy 朋友对 ideablog 的反馈信息, 是他的反馈让知道如何写新的版本. 同时我希望更多的人能够使用 ideablog, 向我提供关于功能要求等信息. 我将十分感谢.

    Posted by ideawu at 2007-06-04 14:12:06
  • 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". 方法是:

    1. 用有权限的账号的dn(形如 cn=user_name,ou=web,dc=ideawu,dc=com)连接LDAP Server.
    2. 根据登录用户的名字查询其dn.
    3. 用该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);
    }
    
    Posted by ideawu at 2007-05-25 18:20:49
  • 2007-01-17

    开放源码的 ideablog 发布

    Views: 14928 | 4 Comments

    开放源码的 ideablog 发布, 在 http://www.ideawu.com/blog/ . 如果你无法访问, 请用Email向我索取源代码.

    Posted by ideawu at 2007-01-17 10:46:59
  • 2006-12-21

    手机铃声和集团彩铃的网站系统

    Views: 12973 | Comments Off

    最近做了个集团彩铃的网站系统, 集团彩铃就是为企业定做的彩铃. 包括铃声上传, 铃声在线试听等功能, 还有一个新闻发布系统. 功能与 cailing.bj.cn 相似. 我做的时候考虑了扩展性, 以后可以发展为一个手机彩铃系统或者音乐系统. 比如像 tom.com 的手机铃声系统.

    呵呵, 我以前在 tom.com, sohu.com 和 qq.com 买了几条手机铃声呢. 这种网站只要跟通信公司买个接口, 就卖每条铃声 1-4 元. 怪不得说彩铃救了 sohu.

    如需购买请联系.

    Posted by ideawu at 2006-12-21 19:46:59
  • 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;
    }
    
    Posted by ideawu at 2006-11-30 17:36:08
  • 2006-11-18

    我在写一个PHP+MySQL博客

    Views: 15286 | 4 Comments

    我要写PHP程序了, 因为Java的布署环境成本太高, 导致很少人学习Java Web, 所以我写的Java程序受关注太少. 而且, 经过前段时间我又一次重新拾取PHP, 发现PHP在我知道的很多方面比Java/Jsp更有优势, 所以我要开始写PHP程序了.

    首先, PHP的调试是方便的. 其次, PHP的执行速度足够快速. 再次, PHP和许多脚本语言一样, 非常灵活.

    Posted by ideawu at 2006-11-18 18:54:58
|<<<2345678910>>>| 9/10 Pages, 55 Results.