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已经去除了这个选项。

(0)

相关推荐

  • php利用cookies实现购物车的方法

    本文实例讲述了php利用cookies实现购物车的方法.分享给大家供大家参考.具体分析如下: php购物车是在电子商务网站会用到的,一种像超市购物车一样的,选好商品了,先放到自己的购物车里面等好了再到柜台结算,本款php购物车完全按照这个原理来实例的,感兴趣的朋友可以来看看,该实例利用了cookie来实现,代码如下: 复制代码 代码如下: <?php /**  * 购物车类 cookies 保存,保存周期为1天 注意:浏览器必须支持cookie才能够使用  */ class cartapi {

  • PHP读取CURL模拟登录时生成Cookie文件的方法

    本文实例讲述了PHP读取CURL模拟登录时生成Cookie文件的方法.分享给大家供大家参考.具体实现方法如下: 在使用PHP中的CURL模拟登录时会保存一个Cookie文件,例如下面的代码 复制代码 代码如下: $login_url = 'XXX';    $post_fields['email'] = 'XXXX';  $post_fields['password'] = 'XXXX';  $post_fields['origURL'] = 'XXX';  $post_fields['doma

  • php第一次无法获取cookie问题处理

    首先编写以下简单的代码: 复制代码 代码如下: <?php     setcookie('a','value');     print $_COOKIE['a']; 第一次访问时,报错: 报错的原因是$_COOKIE['a']的值不存在.第二次访问: 问:为什么第一次访问的时候,会没有cookie呢??我不是先设置,再获取吗?? 答:使用firefox的firebug查看"网络": 客户端: 可以看到,浏览器(客户端)向服务器发出一次请求,发出请求的时候,在请求头信息中带上了各种

  • php针对cookie操作的队列操作类实例

    本文实例讲述了php针对cookie操作的队列操作类.分享给大家供大家参考.具体分析如下: 这里包括了从简单的cookie操作(增加,删除,修改)到我们的cookie队列操作类的操作,对此感兴趣的朋友可以参考一下. 一.PHP 的COOKIE cookie 是一种在远程浏览器端储存数据并以此来跟踪和识别用户的机制. PHP 在http 协议的头信息里发送cookie,因此 setcookie() 函数必须在其它信息被输出到浏览器前调用,这和对  header() 函数的限制类似. 设置cooki

  • php使用Cookie实现和用户会话的方法

    本文实例讲述了php使用Cookie实现和用户会话的方法.分享给大家供大家参考.具体分析如下: PHP 包含了很多的函数,可以用来管理和记录用户信息,包括简单的 cookie 和全方位的用户会话.会话使用 PHP 语言内建的技术,使得保存状态就像是引用超全局变量那样简单. 1.Cookie 简介 我们可以和 PHP 脚本一起使用 cookie 来存储一些关于用户的较小的信息. Cookie 是由用户浏览器存储的少量数据,它和一个来自服务器或脚本的请求一致.通过一个用户的浏览器,一个单个的主机可以

  • php 删除cookie方法详解

    我们先来看下相关cookie的机制. 复制代码 代码如下: bool setcookie ( string name [, string value [, int expire [, string path [, string domain [, bool secure]]]]] ) 要删除cookie需要确保它的失效期是在过去,才能触发浏览器的删除机制. 下面的例子说明了如何删除刚才设置的cookie: 复制代码 代码如下: <?php //将过期时间设为一小时前 setcookie("

  • php利用cookie实现自动登录的方法

    本文实例讲述了php利用cookie实现自动登录的方法.分享给大家供大家参考.具体实现方法如下: html前端页面代码如下: 复制代码 代码如下: <html>   <head>   <title>enter password</title>   </head>   <body>   <form name="forml" method="post" action="cookieb

  • php中cookie实现二级域名可访问操作的方法

    本文实例讲述了php中cookie实现二级域名可访问操作的方法.分享给大家供大家参考.具体方法如下: cookie在一些应用中很常用,假设我有一个多级域名要求可以同时访问主域名绑定的cookie,下面就来给大家具体介绍在php中利用setcookie实现二级域名可以成功访问主域名cookie值的方法. 有时候两个域名可能在不同的服务器上,但是我们依然希望二级域名能够顺利访问主域名的cookie,主域名可以顺利访问二级域名的cookie,比如sc.jb51.net 希望能访问 www.jb51.n

  • php cookie名使用点号(句号)会被转换

    这个标题不是很严格,应该说可以使用点号的cookie名,但会被转换,你命名一个cookie: $_COOKIE['my.name'] = 1; 实际上你不能通过'my.name'在cookie中查找到这个值,只能是'my_name': echo $_COOKIE['my_name']; php已经自动帮你进行了转化,句点转为了下划线. php为什么要这样做呢?这是因为$_GET/$_POST/$_SERVER/$_COOKIE...这些全局函数的值,在之前的许多版本中是可以通过register_

  • 利用Java获取文件名、类名、方法名和行号的方法小结

    大家都知道,在C语言中,我们可以通过宏FILE. __LINE__来获取文件名和行号,而在Java语言中,则可以通过StackTraceElement类来获取文件名.类名.方法名.行号,具体代码如下: public static int getLineNumber( ){ StackTraceElement[] stackTrace = new Throwable().getStackTrace(); return stackTrace[1].getLineNumber( ); } public

  • js读写COOKIE实现记住帐号或密码的代码(js读写COOKIE)

    js COOKIE 记住帐号或密码 function onLoginLoaded() { if(isPostBack == "False") { GetLastUser(); } } function GetLastUser() { var id = "49BAC005-7D5B-4231-8CEA-16939BEACD67"; var usr = GetCookie(id); if(usr != null) { document.getElementById('t

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

    php cookie中不能使用点号(句号),实际上不是很严格,应该说可以使用点号的cookie名,但会被转换,你命名一个cookie: $_COOKIE['my.name'] = 1; 实际上你不能通过'my.name'在cookie中查找到这个值,只能是'my_name': echo $_COOKIE['my_name']; php已经自动帮你进行了转化,句点转为了下划线. php为什么要这样做呢?这是因为$_GET/$_POST/$_SERVER/$_COOKIE...这些全局函数的值,在之

  • Go 函数中获取调用者的函数名和文件名及行号

    目录 背景 runtime.Caller 获取调用者的函数名 使用示例 总结 前言: 今天介绍了通过 runtime.Caller 回溯调用栈获取调用者的信息的方法,虽然强大,不过频繁获取这个信息也是会对程序性能有影响. 背景 我们在应用程序的代码中添加业务日志的时候,不论是什么级别的日志,除了我们主动传给 Logger 让它记录的信息外,这行日志是由哪个函数打印的.所在的位置也是非常重要的信息,不然排查问题的时候很有可能就犹如大海捞针. 对于在记录日志时记录调用 Logger 方法的调用者的函

  • JavaScript操作Cookie详解

    什么是 Cookie "cookie 是存储于访问者的计算机中的变量.每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie.你可以使用 JavaScript 来创建和取回 cookie 的值." - w3school cookie 是访问过的网站创建的文件,用于存储浏览信息,例如个人资料信息. 从JavaScript的角度看,cookie 就是一些字符串信息.这些信息存放在客户端的计算机中,用于客户端计算机与服务器之间传递信息. 在JavaScript中可以通过 doc

  • PHP的cookie与session原理及用法详解

    本文实例讲述了PHP的cookie与session原理及用法.分享给大家供大家参考,具体如下: 产生背景 HTTP协议是无状态的协议.一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接.这就意味着服务器无法从连接上跟踪会话.于是需要引入一种机制,COOKIE于是就顺应而生. Session是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上.客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上.这就是

  • JS 中Json字符串+Cookie+localstorage

    目录 1.Json字符串 1.1Json语法 1.2举例 2.Cookie 2.1怎么用? 3.Localstorage 3.1基本使用 3.2案例(记住用户名和密码) 1.Json字符串 Json主要用于前后端交互,是一种数据格式,相较于Xml,使用起来更加便捷 1.1Json语法 可以用来表示:对象.数组.简单数据类型等 {}表示对象 ,[]表示数组 键与值之间用 :隔开,键与键之间用,隔开,属性名必须使用""号 值尽量不要用NaN,属性的最后一位如果没有其他属性,不要留, Jso

  • JS 中Json字符串+Cookie+localstorage

    目录 1.Json字符串 1.1Json语法 1.2举例 2.Cookie 2.1怎么用? 3.Localstorage 3.1基本使用 3.2案例(记住用户名和密码) 1.Json字符串 Json主要用于前后端交互,是一种数据格式,相较于Xml,使用起来更加便捷 1.1Json语法 可以用来表示:对象.数组.简单数据类型等 {}表示对象 ,[]表示数组 键与值之间用 :隔开,键与键之间用,隔开,属性名必须使用""号 值尽量不要用NaN,属性的最后一位如果没有其他属性,不要留, Jso

  • 如何获知所有的Cookie?

    1.撼雪喷云之显示Cookie <TABLE BORDER="2">      <Thead>            <TH>Cookie名</TH>            <TH>Cookie值</TH>            <TH>删除Cookie</TH>      </Thead><%Dim Item %>      <tr>         

随机推荐