用session做客户验证时的注意事项
发布时间:2006-10-14 2:43:33   收集提供:gaoqian
如果你的php.ini中register_globals = On, 所有post, get, cookie, session的同名变量 就会搅和在一起, 可以用$HTTP_*_VARS["username"]来判断你想要的那个变量.

但是即使同名, 在php.ini中variables_order = "GPCS"也会按照优先级别来判断, 等级低 的值没法冲掉等级高的. 所以, 如果一开始就用session_register("username")是明智的, 也可以用session_is_registered来判断变量是否已经注册.

这是一个例子:
if (!session_is_registered("username")) {
  $user_name= "";
  session_register("username");
}
同时保证你的php.ini中, variables_order = "GPCS" (缺省) S即session要放在最后, 优 先.

register_globals = On有些浪费系统资源, 在优化配置中被关掉, 这样也避免了出现所谓漏洞.


 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50