我想你session_register("sessionname");的內容應是用戶不知的內容,如name=别人的用户名 的 (别人的用户名之系統自動生成的12位id),別人就很難亂搞成功了。

解决方案 »

  1.   

    可不可以把USERNAME用隐藏的表单来传呢?而不把它放在明面(即?username)
    来传呢?
      

  2.   

    把用户名作为session存储,在要验证页面里直接取这个session里面存储的用户名.
    注意:最好用$_SESSION这个数组.
      

  3.   

    敏感的信息放在session中,必要的话还可以加密一下。不要用表单来传送。
      

  4.   

    session变量用$HTTP_SESSION_VARS[session];取出就不会有这问题了
      

  5.   

    判断$sessionname是否等于$name
    不过最好给session变量起名字时最好复杂些,防止被别人猜到,否则仍然可通过url传递,你的问题仍然解决不掉!
      

  6.   

    赞成用$HTTP_SESSION_VARS[session];
    把register_globals off之后比较安全一些.
    很多表单传递都多少不保险...