明輝手游網(wǎng)中心:是一個免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

用session做客戶驗(yàn)證時的注意事項(xiàng)

[摘要]如果你的php.ini中register_globals = On, 所有post, get, cookie, session的同名變量 就會攪和在一起, 可以用HTTP_*_VARS["username"]來判斷你想要的那個變量. 但是即使同名, 在php.ini中varia...
如果你的php.ini中register_globals = On, 所有post, get, cookie, session的同名變量 就會攪和在一起, 可以用$HTTP_*_VARS["username"]來判斷你想要的那個變量.

但是即使同名, 在php.ini中variables_order = "GPCS"也會按照優(yōu)先級別來判斷, 等級低 的值沒法沖掉等級高的. 所以, 如果一開始就用session_register("username")是明智的, 也可以用session_is_registered來判斷變量是否已經(jīng)注冊.

這是一個例子:
if (!session_is_registered("username")) {
  $user_name= "";
  session_register("username");
}
同時保證你的php.ini中, variables_order = "GPCS" (缺省) S即session要放在最后, 優(yōu) 先.

register_globals = On有些浪費(fèi)系統(tǒng)資源, 在優(yōu)化配置中被關(guān)掉, 這樣也避免了出現(xiàn)所謂漏洞.