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 相关文章推荐
我的论坛源代码(三)
Oct 09 PHP
php下的权限算法的实现
Apr 28 PHP
php的正则处理函数总结分析
Jun 20 PHP
php 404错误页面实现代码
Jun 22 PHP
php使用异或实现的加密解密实例
Sep 04 PHP
jQuery中的RadioButton,input,CheckBox取值赋值实现代码
Feb 18 PHP
ThinkPHP添加更新标签的方法
Dec 05 PHP
php读取mssql的ntext字段返回值为空的解决方法
Dec 30 PHP
php简单实现快速排序的方法
Apr 04 PHP
基于PHP实现的事件机制实例分析
Jun 18 PHP
支付宝服务窗API接口开发php版本
Jul 20 PHP
PHPMailer发送邮件
Dec 28 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 静态变量与自定义常量的使用方法
2010/01/26 PHP
常见的PHP五种设计模式小结
2011/03/23 PHP
php实现将数组转换为XML的方法
2015/03/09 PHP
Win7下手动安装apache2.2、php5.4笔记
2015/04/03 PHP
PHP代码维护,重构变困难的4种原因分析
2016/01/25 PHP
PHP编程获取图片的主色调的方法【基于Imagick扩展】
2017/08/02 PHP
在IE,Firefox,Safari,Chrome,Opera浏览器上调试javascript
2008/12/02 Javascript
Extjs4 GridPanel 的几种样式使用介绍
2013/04/18 Javascript
jquery必须知道的一些常用特效方法及使用示例(整理)
2013/06/24 Javascript
node.js中的console.error方法使用说明
2014/12/10 Javascript
学习JavaScript设计模式之享元模式
2016/01/18 Javascript
JavaScript模块模式实例详解
2017/10/25 Javascript
微信公众平台获取access_token的方法步骤
2019/03/29 Javascript
微信小程序如何利用getCurrentPages进行页面传值
2019/07/01 Javascript
vue中filters 传入两个参数 / 使用两个filters的实现方法
2019/07/15 Javascript
微信小程序从注册账号到上架(图文详解)
2019/07/17 Javascript
vue.js+elementUI实现点击左右箭头切换头像功能(类似轮播图效果)
2019/09/05 Javascript
nodejs nedb 封装库与使用方法示例
2020/02/06 NodeJs
nodejs使用socket5进行代理请求的实现
2020/02/21 NodeJs
antd配置config-overrides.js文件的操作
2020/10/31 Javascript
Python实现3行代码解简单的一元一次方程
2014/08/18 Python
python并发编程之多进程、多线程、异步和协程详解
2016/10/28 Python
python3中int(整型)的使用教程
2017/03/23 Python
python如何获取服务器硬件信息
2017/05/11 Python
pyqt5简介及安装方法介绍
2018/01/31 Python
浅谈django三种缓存模式的使用及注意点
2018/09/30 Python
如何用Django处理gzip数据流
2021/01/29 Python
介绍一下如何优化MySql
2016/12/20 面试题
单位在职证明范本
2014/01/09 职场文书
进步之星获奖感言
2014/02/22 职场文书
2014年入党积极分子党课学习心得体会模板
2014/04/03 职场文书
2014卖家双十一活动策划书
2014/09/29 职场文书
军事博物馆观后感
2015/06/05 职场文书
初二物理教学反思
2016/02/19 职场文书
你喜欢篮球吗?Python实现篮球游戏
2021/06/11 Python
教你nginx跳转配置的四种方式
2022/07/07 Servers