用session做客户验证时的注意事项
作者:bea
如果你的php.ini中register_globals = On, 所有post, get, cookie, session的同名变量 就会搅和在一起, 可以用$HTTP_*_VARS["username"]来判断你想要的那个变量. 但是即使同名, 在php.ini中variables_order = "GPCS"也会按照优先级别来判断, 等级低 的值没法冲掉等级高的. 所以, 如果一开始就用session_register("username")是明智的, 也可以用ses
如果你的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有些浪费系统资源, 在优化配置中被关掉, 这样也避免了出现所谓漏洞.
有用 |
无用
但是即使同名, 在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有些浪费系统资源, 在优化配置中被关掉, 这样也避免了出现所谓漏洞.
猜你喜欢
您可能感兴趣的文章:
- 怎样在PHP中通过ADO调用Asscess数据库和COM程序
- 怎样在php中使用PDF文档功能
- 在PHP中执行系统外部命令
- 针对初学PHP者的疑难问答(1)
- 簡繁体转换的class
- 一个用于网络的工具函数库
- oracle资料库函式库
- 针对初学PHP者的疑难问答(2)
- 模仿OSO的论坛(三)
- 在PHP3中实现SESSION的功能(一)
- 我用php+mysql写的留言本
- 在PHP3中实现SESSION的功能(三)
- 在PHP3中实现SESSION的功能(二)
- PHP实现网上点歌(二)
- php上传、管理照片示例
- 我的群发邮件程序
- 模仿OSO的论坛(二)
- 模仿OSO的论坛(一)
- 几种显示数据的方法的比较