Discuz! X cookie的设置与使用详解
2017-03-20 09:37
423 查看
Discuz!X cookie生成文件位置 source\function\function_core.php
Discuz!X cookie封装源码 生成COOKIE
<?php
function dsetcookie($var, $value = '', $life = 0, $prefix = 1, $httponly = false) {
global $_G;
$config = $_G['config']['cookie'];
$_G['cookie'][$var] = $value;
$var = ($prefix ? $config['cookiepre'] : '').$var;
$_COOKIE[$var] = $value;
if($value == '' || $life < 0) {
$value = '';
$life = -1;
}
if(defined('IN_MOBILE')) {
$httponly = false;
}
$life = $life > 0 ? getglobal('timestamp') + $life : ($life < 0 ? getglobal('timestamp') - 31536000 : 0);
$path = $httponly && PHP_VERSION < '5.2.0' ? $config['cookiepath'].'; HttpOnly' : $config['cookiepath'];
$secure = $_SERVER['SERVER_PORT'] == 443 ? 1 : 0;
if(PHP_VERSION < '5.2.0') {
setcookie($var, $value, $life, $path, $config['cookiedomain'], $secure);
} else {
setcookie($var, $value, $life, $path, $config['cookiedomain'], $secure, $httponly);
}
}
Discuz!X cookie封装源码 读取COOKIE
<?php
function getcookie($key) { global $_G; return isset($_G['cookie'][$key]) ? $_G['cookie'][$key] : ''; }
Discuz!X cookie封装源码 设置cookie:
<?php
dsetcookie('cookie名', 'cookie值', '有效时间');
Discuz!X cookie封装源码 dsetcookie()方法分析
function dsetcookie($var, $value = '', $life = 0, $prefix = 1, $httponly = false)
dsetcookie()还有两个参数$prefix与$httponly
$prefix为是否添加cookie前缀,true则自动添加网站的前缀,false则不添加
$httponly表示是否只允许http方式访问,这两个值只要默认值即可,有需要可另外设置,不过当用户访问的是手机版则$httponly会被自动设置为false,
见function_core.php第272行 if(defined('IN_MOBILE')) { $httponly = false; }
Discuz!X cookie封装源码 在程序中读取cookie 第一种使用getcookie函数: getcookie('cookie名'); 第二种直接访问全局变量$_G: $_G['cookie']['cookie名']
Discuz!X cookie封装源码 生成COOKIE
<?php
function dsetcookie($var, $value = '', $life = 0, $prefix = 1, $httponly = false) {
global $_G;
$config = $_G['config']['cookie'];
$_G['cookie'][$var] = $value;
$var = ($prefix ? $config['cookiepre'] : '').$var;
$_COOKIE[$var] = $value;
if($value == '' || $life < 0) {
$value = '';
$life = -1;
}
if(defined('IN_MOBILE')) {
$httponly = false;
}
$life = $life > 0 ? getglobal('timestamp') + $life : ($life < 0 ? getglobal('timestamp') - 31536000 : 0);
$path = $httponly && PHP_VERSION < '5.2.0' ? $config['cookiepath'].'; HttpOnly' : $config['cookiepath'];
$secure = $_SERVER['SERVER_PORT'] == 443 ? 1 : 0;
if(PHP_VERSION < '5.2.0') {
setcookie($var, $value, $life, $path, $config['cookiedomain'], $secure);
} else {
setcookie($var, $value, $life, $path, $config['cookiedomain'], $secure, $httponly);
}
}
Discuz!X cookie封装源码 读取COOKIE
<?php
function getcookie($key) { global $_G; return isset($_G['cookie'][$key]) ? $_G['cookie'][$key] : ''; }
Discuz!X cookie封装源码 设置cookie:
<?php
dsetcookie('cookie名', 'cookie值', '有效时间');
Discuz!X cookie封装源码 dsetcookie()方法分析
function dsetcookie($var, $value = '', $life = 0, $prefix = 1, $httponly = false)
dsetcookie()还有两个参数$prefix与$httponly
$prefix为是否添加cookie前缀,true则自动添加网站的前缀,false则不添加
$httponly表示是否只允许http方式访问,这两个值只要默认值即可,有需要可另外设置,不过当用户访问的是手机版则$httponly会被自动设置为false,
见function_core.php第272行 if(defined('IN_MOBILE')) { $httponly = false; }
Discuz!X cookie封装源码 在程序中读取cookie 第一种使用getcookie函数: getcookie('cookie名'); 第二种直接访问全局变量$_G: $_G['cookie']['cookie名']
相关文章推荐
- 详解FCKeditor文本编辑器在.NET环境下的设置和使用!
- [转]JavaScript使用cookie,参数设置,说明;读取,写入,删除函数
- JSP开发中Cookie使用完全详解
- vb6如何设置和获取 cookie,使用 WinInet api url
- Discuz7.2 邮件设置详解
- [转]linux中更改文件及文件夹所有者权限设置命令chown使用详解
- Magento怎么设置和使用Cookie和Session?
- 如何在C# WinForm 程序中使用WebBrowser控件时设置COOKIE的值。
- 使用证书设置SQL Server数据库镜像详解
- (转)详解FCKeditor文本编辑器在.NET环境下的设置和使用!
- PHP中设置、使用、删除Cookie方法
- PHP中设置、使用、删除Cookie方法
- PHP中设置、使用、删除Cookie方法
- windows驱动开发技术详解 VC6与DDK搭配使用的设置
- crontab命令设置使用详解
- vb6如何设置和获取 cookie,使用 WinInet api url
- 使用Cookie对象保存用户自定义设置
- discuz x1.0二级导航的设置方法详解
- 详解CentOS5.4设置使用rpmforge(packages.sw.be)yum源