PHP设置Cookie的HTTPONLY属性方法

 2025-01-16  阅读 262  评论 8  点赞 391

摘要:httponly是微软对cookie做的扩展,这个主要是解决用户的cookie可能被盗用的问题。 大家都知道,当我们去邮箱或者论坛登陆后,服务器会写一些cookie到我们的浏览器,当下次再访问其他页面时,由于浏览器回自动传递cookie,这样就实现了一次登陆就可以看到所有需要登陆后才能看

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

PHP设置Cookie的HTTPONLY属性方法

大家都知道,当我们去邮箱或者论坛登陆后,服务器会写一些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属性方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。


标签:phpphp教程

评论列表:

  •   tg7187037109
     发布于 3天前回复该评论
  • 又学到了新知识!
  •   xiaoming22
     发布于 2天前回复该评论
  • 又学到了新知识!
显示更多评论

发表评论:

管理员

承接各种程序开发,外贸网站代运营,外贸网站建设等项目
  • 内容2460
  • 积分67666
  • 金币86666

Copyright © 2024 LS'Blog-保定PHP程序员老宋个人博客 Inc. 保留所有权利。 Powered by LS'blog 3.0.3

页面耗时0.0269秒, 内存占用1.94 MB, 访问数据库31次

冀ICP备19034377号