如果你的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有些浪費系統資源, 在優化配置中被關掉, 這樣也避免了出現所謂漏洞.
因為以前碰到過這個問題, 給大家參考一下.
|