php cookie中点号(句号)自动转为下划线问题


Posted in PHP onOctober 21, 2014

php cookie中不能使用点号(句号),实际上不是很严格,应该说可以使用点号的cookie名,但会被转换,你命名一个cookie:

$_COOKIE[‘my.name'] = 1; 

实际上你不能通过'my.name'在cookie中查找到这个值,只能是'my_name':

echo $_COOKIE[‘my_name']; 

php已经自动帮你进行了转化,句点转为了下划线。

php为什么要这样做呢?这是因为$_GET/$_POST/$_SERVER/$_COOKIE。。。这些全局函数的值,在之前的许多版本中是可以通过register_globals参数在本地中直接访问这些值的,比如开启register_globals = on后,访问$my_name直接取值为1。如果是$my.name的话,则不符合php变量命名原则,这不单是句号(.)的问题。

因此,$_COOKIE的命名已经符合php命名标准。

另外开启register_globals是一个很糟糕的决定,因为它可能会覆盖脚本中原来的值,比如:

// other code
if ($a)
    $uc_is_login = true;
// ... 

用户只需要发送一个url?a=1的http请求就可以默认已经登陆。这是个很危险的做法,应该把它关闭。实际上php6已经去除了这个选项。

PHP 相关文章推荐
模仿OSO的论坛(五)
Oct 09 PHP
PHP中的正规表达式(二)
Oct 09 PHP
新手配置 PHP 调试环境(IIS+PHP+MYSQL)
Jan 10 PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装最快的解决办法
Aug 01 PHP
Php Image Resize图片大小调整的函数代码
Jan 17 PHP
php使用PDO方法详解
Dec 27 PHP
JavaScript实现滚动栏效果的方法
Apr 27 PHP
浅谈php数组array_change_key_case() 函数和array_chunk()函数
Oct 22 PHP
降低PHP Redis内存占用
Mar 23 PHP
PHP获取数组中单列值的方法
Jun 10 PHP
Yii框架应用组件用法实例分析
May 15 PHP
PHP如何通过date() 函数格式化显示时间
Nov 13 PHP
微信公众平台网页授权获取用户基本信息中授权回调域名设置的变动
Oct 21 #PHP
php时间戳格式化显示友好的时间函数分享
Oct 21 #PHP
ThinkPHP整合百度Ueditor图文教程
Oct 21 #PHP
浅谈PHP正则表达式中修饰符/i, /is, /s, /isU
Oct 21 #PHP
php读取目录及子目录下所有文件名的方法
Oct 20 #PHP
php中的字符编码转换函数用法示例
Oct 20 #PHP
PHP实现通过中文字符比率来判断垃圾评论的方法
Oct 20 #PHP
You might like
PHP 向右侧拉菜单实现代码,测试使用中
2009/11/03 PHP
PHP四大安全策略
2014/03/12 PHP
php禁用cookie后session设置方法分析
2016/10/19 PHP
关于php开启错误提示的总结
2019/09/24 PHP
jquery中获取元素的几种方式小结
2011/07/05 Javascript
JavaScript判断一个URL链接是否有效的实现方法
2011/10/08 Javascript
Jquery $when done then的用法详解
2016/05/20 Javascript
原生js获取iframe中dom元素--父子页面相互获取对方dom元素的方法
2016/08/05 Javascript
Nodejs抓取html页面内容(推荐)
2016/08/11 NodeJs
JS中split()用法(将字符串按指定符号分割成数组)
2016/10/24 Javascript
基于angular-utils-ui-breadcrumbs使用心得(分享)
2017/11/03 Javascript
微信小程序实现页面跳转传值以及获取值的方法分析
2017/12/18 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变opacity实现)
2019/01/24 Javascript
详解key在Vue列表渲染时究竟起到了什么作用
2019/04/20 Javascript
TypeScript高级用法的知识点汇总
2019/12/17 Javascript
JavaScript 判断浏览器是否是IE
2021/02/19 Javascript
Python实现两款计算器功能示例
2017/12/19 Python
python正则实现提取电话功能
2018/02/24 Python
Django中数据库的数据关系:一对一,一对多,多对多
2018/10/21 Python
Python/ArcPy遍历指定目录中的MDB文件方法
2018/10/27 Python
Python 实现Image和Ndarray互相转换
2020/02/19 Python
Matplotlib.pyplot 三维绘图的实现示例
2020/07/28 Python
什么是重载?CTS、CLS和CLR分别做何解释
2012/05/06 面试题
如何通过jdbc调用存储过程
2012/04/19 面试题
太太口服液广告词
2014/03/20 职场文书
银行反四风对照检查材料
2014/09/29 职场文书
质监局领导班子践行群众路线整改方案
2014/10/26 职场文书
优秀党员先进材料
2014/12/18 职场文书
2014公司年终工作总结
2014/12/19 职场文书
精神文明建设汇报材料
2014/12/24 职场文书
自主招生自荐信怎么写
2015/03/24 职场文书
2016教师给学生的毕业寄语
2015/12/04 职场文书
导游词之广西漓江
2019/11/02 职场文书
详解Nginx启动失败的几种错误处理
2021/04/01 Servers
Html5大屏数据可视化开发的实现
2021/06/11 HTML / CSS
详解Python如何批量采集京东商品数据流程
2022/01/22 Python