PHP设置Cookie的HTTPONLY属性方法


Posted in PHP onFebruary 09, 2017

httponly是微软对cookie做的扩展,这个主要是解决用户的cookie可能被盗用的问题。

大家都知道,当我们去邮箱或者论坛登陆后,服务器会写一些cookie到我们的浏览器,当下次再访问其他页面时,由于浏览器回自动传递cookie,这样就实现了一次登陆就可以看到所有需要登陆后才能看到的内容。也就是说,实质上,所有的登陆状态这些都是建立在cookie上的!假设我们登陆后的cookie被人获得,那就会有暴露个人信息的危险!当然,想想,其他人怎么可以获得客户的cookie?那必然是有不怀好意的人的程序在浏览器里运行!如果是现在满天飞的流氓软件,那没有办法,httponly也不是用来解决这种情况的,它是用来解决浏览器里javascript访问cookie的问题。试想,一个flash程序在你的浏览器里运行,就可以获得你的cookie的!

IE6的SP1里就带了对httponly的支持,所以相对还说还是些安全性。

PHP中的设置

PHP5.2以上版本已支持HttpOnly参数的设置,同样也支持全局的HttpOnly的设置,在php.ini中
-----------------------------------------------------
session.cookie_httponly =
-----------------------------------------------------

设置其值为1或者TRUE,来开启全局的Cookie的HttpOnly属性,当然也支持在代码中来开启:

<?php ini_set("session.cookie_httponly", 1); 
 // or session_set_cookie_params(0, NULL, NULL, NULL, TRUE); 
?>

Cookie操作函数setcookie函数和setrawcookie函数也专门添加了第7个参数来做为HttpOnly的选项,开启方法为:

<?php
setcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE); 
setrawcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE);
?>

对于PHP5.1以前版本以及PHP4版本的话,则需要通过header函数来变通下了:

<?php 
header("Set-Cookie: hidden=value; httpOnly"); 
?>

以上这篇PHP设置Cookie的HTTPONLY属性方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
PHPShop存在多个安全漏洞
Oct 09 PHP
简单易用的计数器(数据库)
Oct 09 PHP
WIN98下Apache1.3.14+PHP4.0.4的安装
Oct 09 PHP
PHP 得到根目录的 __FILE__ 常量
Jul 23 PHP
在服务端进行目录建立、删除,文件上传、删除的过程的php代码
Sep 10 PHP
PHP 调试工具Debug Tools
Apr 30 PHP
PHP学习散记_编码(json_encode 中文不显示)
Nov 10 PHP
PHP基于文件存储实现缓存的方法
Jul 20 PHP
PHP设置头信息及取得返回头信息的方法
Jan 25 PHP
PHP的swoole扩展安装方法详细教程
May 18 PHP
利用php做服务器和web前端的界面进行交互
Oct 31 PHP
Laravel Eloquent分表方法并使用模型关联的实现
Nov 25 PHP
PHP调试及性能分析工具Xdebug详解
Feb 09 #PHP
php从身份证获取性别和出生年月
Feb 09 #PHP
Yii2框架实现数据库常用操作总结
Feb 08 #PHP
Yii2实现中国省市区三级联动实例
Feb 08 #PHP
PHP+Ajax无刷新带进度条图片上传示例
Feb 08 #PHP
PHP中的使用curl发送请求(GET请求和POST请求)
Feb 08 #PHP
php制作基于xml的RSS订阅源功能示例
Feb 08 #PHP
You might like
PHP性能优化 产生高度优化代码
2011/07/22 PHP
php array的学习笔记
2012/05/16 PHP
基于PHP array数组的教程详解
2013/06/05 PHP
yii用户注册表单验证实例
2015/12/26 PHP
php创建桌面快捷方式实现方法
2015/12/31 PHP
PHP高效获取远程图片尺寸和大小的实现方法
2017/10/20 PHP
PHP实现的多维数组去重操作示例
2018/07/21 PHP
thinkPHP利用ajax异步上传图片并显示、删除的示例
2018/09/26 PHP
javascript string字符串优化问题
2011/07/31 Javascript
javascript实现tabs选项卡切换效果(自写原生js)
2013/03/19 Javascript
js、css、img等浏览器缓存问题的2种解决方案
2013/10/23 Javascript
含有CKEditor的表单如何提交
2014/01/09 Javascript
js实现适用于素材网站的黑色多级菜单导航条效果
2015/08/24 Javascript
Bootstrap被封装的弹层
2016/07/20 Javascript
基于vue2.0实现的级联选择器
2017/06/09 Javascript
在原生不支持的旧环境中添加兼容的Object.keys实现方法
2017/09/11 Javascript
JS获取日期的方法实例【昨天,今天,明天,前n天,后n天的日期】
2017/09/28 Javascript
基于jQuery实现定位导航位置效果
2017/11/15 jQuery
JavaScript设计模式之观察者模式与发布订阅模式详解
2020/05/07 Javascript
详解JavaScript中分解数字的三种方法
2021/01/05 Javascript
本地文件上传到七牛云服务器示例(七牛云存储)
2014/01/11 Python
Python自动化部署工具Fabric的简单上手指南
2016/04/19 Python
用python写一个windows下的定时关机脚本(推荐)
2017/03/21 Python
python+matplotlib绘制简单的海豚(顶点和节点的操作)
2018/01/02 Python
Python基础之函数的定义与使用示例
2019/03/23 Python
pywinauto自动化操作记事本
2019/08/26 Python
python爬虫爬取幽默笑话网站
2019/10/24 Python
CSS Grid布局教程之浏览器开启CSS Grid Layout汇总
2014/12/30 HTML / CSS
关于css中margin的值和垂直外边距重叠问题
2020/10/27 HTML / CSS
Burberry英国官网:英国标志性奢侈品牌
2017/03/29 全球购物
Canal官网:巴西女性时尚品牌
2019/10/16 全球购物
用C语言实现文件读写操作
2013/10/27 面试题
西部世纪.net笔试题面试题
2014/04/03 面试题
骨干教师考核方案
2014/05/09 职场文书
P站美图推荐——变身女主角特辑
2022/03/20 日漫
SpringCloud Function SpEL注入漏洞分析及环境搭建
2022/04/08 Java/Android