点击一个链接就让用户登录,呵呵,MS非常不安全呀.
在用户注册的时候将信息保存在session里,并记录session串.
当然要设置session的失效时间,时间太长不安全.
不过楼主可以在链接里包含一个session串.
然后能过这个session串信息获取用户的信息.

解决方案 »

  1.   


    初学php呢 希望楼下的高手可以给出可具体例子或做法,谢谢了!
      

  2.   

    1. 在会员表cdb_members中增加新字段,logon_key,varchar(32) default null。
    2. update cdb_members set logon_key = md5(rand()); // 为所有用户设置其登录验证码。
    3. 发送链接为http://www.mysite.com/index.php?action=instant_login&username=XXX&logon_key=KKK。
    4. 修改index.php,增加当$action值为instant_login的处理。 根据用户名选取用户资料,并检查其logon_key是否和数据库中记录的匹配。 是则提取用户名信息,并按login.php中的相关处理进行cookie和session设置。 否则提示出错信息。安全方面确实不建议这么做,如果实在要做,也建议让logon_key一次有效,用后清除或更新为其他值。
      

  3.   

    1. 在会员表cdb_members中增加新字段,logon_key,varchar(32) default null。
    2. update cdb_members set logon_key = md5(rand()); // 为所有用户设置其登录验证码。
    3. 发送链接为http://www.mysite.com/index.php?action=instant_login&username=XXX&logon_key=KKK。
    4. 修改index.php,增加当$action值为instant_login的处理。 根据用户名选取用户资料,并检查其logon_key是否和数据库中记录的匹配。 是则提取用户名信息,并按login.php中的相关处理进行cookie和session设置。 否则提示出错信息。安全方面确实不建议这么做,如果实在要做,也建议让logon_key一次有效,用后清除或更新为其他值。// 发表时提示成功,但居然没发上。 重发一次,若见重复回复勿怪。
      

  4.   

    //产生session
    //获取session id作为链接的参数<?php
    session_start();
    $_SESSION['tttt'] = "huo";
    echo session_id();
    ?>//获取session id,重置sessionid,并且读取信息量
    //链接串为 xxxx.php?sid=004a3fe87ead03ba870d53ff6334c5d4<?php
    $sid = $_GET['sid'];
    session_id($sid);
    session_start();
    echo $_SESSION['tttt'];
    ?>
      

  5.   

    基本上就是这个意思了,但是要注意修改php.ini 里session在服务器上的保存时间.
      

  6.   

    如果只需要电子邮件自动显示出来,只要在GET参数里面加上mail地址,
    然后再注册输入页面中显示出来就可以了。如果需要现实更多注册信息的功能,
    需要掌握更多的数据,
    并对数据库进行修改,以下是基本的处理步骤:1.在数据库中添加一个表示注册状态的flag,例如,已经正常注册了的是1,没有正常注册的是0
    2.将要自动注册的帐户信息用后台程序保存到数据库,注册状态为0“没有正常注册”
    3.发送邮件,在地址的GET参数中加入id
    4.在用户访问制定链接的注册画面时,自动从数据库提取已经登陆的信息,在要求用户输入密码以及想要注册的ID就可以了
      

  7.   


    session在服务器上一般过期时间是3个小时内,而一些邮件服务器的用户收到邮件的时间可能都比这个要长 更别提大家都不会频繁的去看自己的邮箱了。 这个方法技术上可行,但实际上应用起来问题很大。
      

  8.   

    帮忙顶一下,让了解的人来解答.btw:他妈的,我还是CSDN论坛首页的常驻专家门诊(JAVA板块)呢,居然在JAVA板块既不能发新贴,也不能回复。
    btw:郁闷,加的好友太多了,现在加好友都是非法请求了。连好友页面也打不开。连私信页面也打不开。
    btw:CSDN当时没有测试过加好友很多的情况的吗?郁闷。现在一点加好友就出错。
      

  9.   

    其实要求不是很高,
    用户都是我们已有的用户,
    网站新增了论坛功能,
    然后就给用户发了邮件,
    点击链接的用户就算再次论坛激活了账号。
    依据是uc里面有个lastlogin字段,根据这个判断。
    因为我初学php的,所有好多东西都搞不懂,才请教大家的。
    我试试上面方法,希望高手们继续回帖,十分感激大家的帮助。
      

  10.   

    dz的logging.php里是如何接受的username,password啊,怎么就是找不到呢?
    求教!
      

  11.   

    看看这几行代码的前后内容:...
    } elseif($action == 'login') {
    ... $discuz_uid = 0;
    $discuz_user = $discuz_pw = $discuz_secques = $md5_password = '';
    $member = array(); $loginperm = logincheck();
    if(!$loginperm) {
    showmessage('login_strike');
    }
    ... if($member['discuz_uid'] && $member['discuz_pw'] == $md5_password) {
    ... dsetcookie('cookietime', $cookietime, 31536000);
    dsetcookie('auth', authcode("$discuz_pw\t$discuz_secques\t$discuz_uid", 'ENCODE'), $cookietime);
      

  12.   

    登录没有什么神秘的啊,直接setcookie一个就可以了。就是这个流程:
    1 找出dz依据什么判断是否登录
    2 按照要求生成所有所需要的cookie就可以了
      

  13.   

    可以修改php.ini延长session保存时间.
    用cookie也一样会有问题,用户可能会清掉cookie其实这只是一个思路,具体实施的时候肯定要考虑多种可能的因素来尽量避免出现问题.
      

  14.   

    discuz 和 ecshop 的积分都在哪个表的哪个字段?谢谢
      

  15.   

    des加密可以http://hi.baidu.com/lael80/blog/item/58244460067226df8db10d94.htmlusername=xx&password=xxx加密成xxxxxxurl?xxxxxx解密登录也可以设置时效(加密 &datetime=xxxx)。