如果你的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有些浪费系统资源, 在优化配置中被关掉, 这样也避免了出现所谓漏洞.
因为以前碰到过这个问题, 给大家参考一下.
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器