用PHP给公司内部开发了一个小系统。现在有一个问题。员工希望不要老是登录,于是我就采用记录客户端IP的方式来识别用户。但是问题是客户端IP地址一更换就会与真实用户对不上。因为公司是使用域名管理员工计算机的。所以我想能不能通过读取员工的域名(即计算机的登录名)来识别用户。感觉单纯靠PHP是无法实现的,请问各位大虾是否有什么好办法。。

解决方案 »

  1.   

    计算机名也是可以改的,你干脆用cookie,延长登录有效期得了,就像csdn这样。
      

  2.   

    $hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);
    echo $hostname;"因为公司是使用域名管理员工计算机的"
    这种情况用 LDAP 更合适点
      

  3.   

    http://www.phpxuexi.net/html/texiao_JS/2009/1216/837.html
      

  4.   

    反正一句话, 你不想打帐号密码登录, 就是事先把它保存起来, 作为身份验证你用ip, 计算机名,或放在cookie, 这些都是不定因素, 都会改的, 你就看情况, 那个变动的时间少, 就用那个
      

  5.   

    4楼的,麻烦问一下。怎么使用LDAP呀??我很关心这个问题。
      

  6.   

    LDAP是英文Lightweight Directory Access Protocol的缩写,即轻型目录访问协议。它是一个访问在线目录服务的协议。什么是目录?LDAP目录中可以存储各种类型的数据:电子邮件地址、邮件路由信息、人力资源数据、公用密匙、联系人列表,等等。最新版本的LDAP协议由RFC 4511所定义。它是基于X.500标准的,但是简单多了并且可以根据需要定制。与X.500不同,LDAP支持TCP/IP,这对访问Internet是必须的。LDAP的核心规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAPman RFC网页中找到。 LDAP最基本的形式是一个连接数据库的标准方式。该数据库为读查询作了优化。因此它可以很快地得到查询结果,不过在其它方面,例如更新,就慢得多。要特别注意的是,LDAP通常作为一个hierarchal数据库使用,而不是一个关系数据库。因此,它的结构用树来表示比用表格好。正因为这样,就不能用SQL语句了。 简单说来,LDAP是一个得到关于人或者资源的集中、静态数据的快速方式。 LDAP是一种特殊的数据库。但是LDAP和一般的数据库不同,明白这一点是很重要的。 LDAP对查询进行了优化,与写性能相比LDAP的读性能要优秀很多。