php中session.cookie_httponly的作用
程序员文章站
2024-03-20 14:20:46
...
今天偶然看到一个设置ini_set(“session.cookie_httponly”,1) 去搜了下作用,我理解过来就是说为了避免浏览器其他的例如JavaScript,flash等脚本轻而易举的获取 或修改到服务端存储在cookie中的信息,这样可以防止XSS攻击。
ps: httponly是微软对cookie做的扩展。
Session数据保存在服务器端, 但是每一个客户端都需要保存一个SessionID, SessionID保存在Cookies中, 关闭浏览器时过期.
在向服务器发送的HTTP请求中会包含SessionID, 服务器端根据SessionID获取获取此用户的Session信息.
PHP中的设置
PHP5.2以上版本已支持HttpOnly参数的设置,同样也支持全局的HttpOnly的设置,在php.ini中
session.cookie_httponly = true
设置其值为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的选项,开启方法为:
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"); ?>
上一篇: javascript中对cookie进行读取与写入使用实例
下一篇: php - 表格导出导出
推荐阅读
-
php中session.cookie_httponly的作用
-
php学习笔记(二十六)php中session的初步使用(基于cookie的)
-
php中的session
-
PHP中session的基础应用一
-
Zend Framework 2中获取用户的自定义配置 博客分类: PHP phpzend配置自定义
-
PHP中单引号与双引号的区别 博客分类: PHP php
-
浅析php变量作用域的一些问题
-
JS中push()的作用简单说明 博客分类: 项目经验总结 JS
-
【转载】web.xml出现中
default 的作用 博客分类: jsp&servlet servlet -
ruby中星号(*)的作用 博客分类: ruby rubygemasterisk