php设置cookie为httponly防止xss攻击
什么是XSS攻击?
XSS攻击(Cross Site Scripting)中文名为跨站脚本攻击,XSS攻击时web中一种常见的漏洞。通过XSS漏洞可以伪造目标用户登录,从而获取登录后的账号操作。
网站账号登录过程中的简单步骤
web网页中在用户登录的时候,通过表单把用户输入的账号密码进行后台数据库的验证,验证通过后利用session会话进行用户登录后的判别是否登录,在session的这个过程中服务器会在服务器中写入一个文件并记录sessionid,然后也会在浏览器中设置cookie,保存sessionid,服务器和客户端之间利用这个sessionid进行通信识别。如果客户端发送sessionid给服务器服务器没有找到,则说明服务器中的这个文件已经过期删除了。那用户这边就需要重新登录了。
XSS攻击的流程
思路:通过获取目标用户登录后的sessionid,保存到自己的电脑,然后在自己的电脑上设置获取到的sessionid进行账号登录后的操作。通过sessionid伪造请求登录,直接跳过账号密码登录操作就能进去。
比如:
给目标用户发送一个有吸引力的邮件,邮箱中包含一个链接,当用户点击链接跳转到一个伪造的页面,这个伪造的页面中包含了获取目标用户浏览器中cookie的javascript代码,获取到cookie中的sessionid后再传送到攻击者的服务器中;或者在站点中的可插入数据的地方进行在html中写行内的javascript代码执行操作(< IMG SRC="jav ascript:alert('XSS');" >;);还可以当在一个公共wifi环境下,进行可账号登录操作,wifi路由器的管理员可以通过抓包工具抓包直接抓包查看到你的sessionid,所以不要在公共wifi下进行敏感操作,是很不安全的。
提高安全性的设置
方法一:在php.ini配置文件中进行cookie只读设置的开启
#搜索session.cookie_httponly =
session.cookie_httponly = On
方法二:在php代码顶部设置
<?php
ini_set("session.cookie_httponly", 1);
#(php5.1以前版本设置方法:header("Set-Cookie: hidden=value; httpOnly");)
?>
原文地址:http://www.zixuephp.net/article-304.html
原文标题:php设置cookie为HttpOnly防止XSS攻击
php设置cookie为httponly防止xss攻击的更多相关文章
- 为web服务器设置HttpOnly防范XSS攻击
HttpOnly标识是一个可选的.避免利用XSS(Cross-Site Scripting)来获取session cookie的标识.XSS攻击最常见一个的目标是通过获取的session cookie ...
- express 设置 cookie 以及 httpOnly
权限控制基本 cookie 在 express 中引入 cookie-parser const express = require('express') const cookieParser = re ...
- PHP设置COOKIE的HttpOnly属性
httponly是微软对cookie做的扩展.这个主要是解决用户的cookie可能被盗用的问题. 大家都知道,当我们去邮箱或者论坛登陆后,服务器会写一些cookie到我们的浏览器,当下次再访问其他页面 ...
- Cookie中设置了 HttpOnly,Secure 属性,有效的防止XSS攻击,X-Frame-Options 响应头避免点击劫持
属性介绍: 1) secure属性当设置为true时,表示创建的 Cookie 会被以安全的形式向服务器传输(ssl),即 只能在 HTTPS 连接中被浏览器传递到服务器端进行会话验证, 如果是 HT ...
- XSS攻击之窃取Cookie
10 年前的博客似乎有点老了,但是XSS 攻击的威胁依然还在,我们不得不防. 窃取Cookie是非常简单的,因此不要轻易相信客户端所声明的身份.即便这个Cookie是在数秒之前验证过,那也未必是真的, ...
- 利用HttpOnly来防御xss攻击
xss的概念就不用多说了,它的危害是极大的,这就意味着一旦你的站点出现xss漏洞,就能够运行随意的js代码,最可怕的是攻击者利用js获取cookie或者session劫持,假设这里面包括了大量敏感信息 ...
- 几个常见的漏洞(xss攻击 cookie未清除 nginx信息泄露)与处理方法
项目在安全检查中发现很多问题,要求整改,其中就有最常见的xss攻击 漏洞描述 渗透测试人员检测到网站筛选框均存在反射型跨站脚本攻击,例如: "><script>alert( ...
- Java Servlet 2.5 设置 cookie httponly
Servlet 3.0 有 cookie.setHttpOnly(true); 多么人性化, Servlet 2.5 是没有这个方法的要这个曲线救国:cookie.setPath("; Ht ...
- phalcon 设置cookie一直是httponly导致前端读取不到cookie的值
解决办法: 修改配置如果不好使,则暂时降低phalcon版本为3.1.2. 注意设置cookie的参数secure的值为false,否则js还是读取不到cookie
随机推荐
- Linux集群架构(一)
第二十八课 Linux集群架构(一) 目录 一. 集群介绍 二. keepalived介绍 三. 用keepalived配置高可用集群 四. 负载均衡集群介绍 五. LVS介绍 六. LVS调度算法 ...
- 递归与动态规划II-汉诺塔
题目描述 有一个int数组arr其中只含有1.2和3,分别代表所有圆盘目前的状态,1代表左柱,2代表中柱,3代表右柱,arr[i]的值代表第i+1个圆盘的位置.比如,arr=[3,3,2,1],代表第 ...
- selenium3 - Tomcat and jenkins
一.Tomcat的学习 1.tomcat 下载地址:tomcat.apache.org 2.配置tomcat环境变量: 新建系统变量 - 变量名:CATALINA_HOME 变量值:D:\TO ...
- Docker多主机互联最佳实践
在公司使用docker多主机互联时碰到了各种坑.搞清楚后才发现如此简单,以下是根据实际经验的总结. 版本信息 Client: Version: 18.09.0 API version: 1.39 Go ...
- js实现全选反选(开关门)
话不多说直接看图吧
- 类 __getitem__ __getattr__ __call__
__getitem__ 实例虽然能作用于for循环,看起来和list有点像,但是,把它当成list来使用还是不行,要表现得像list那样按照下标取出元素,需要实现__getitem__()方法 __g ...
- Knowledge From Practice(JavaScript)
1.HTML事件对象 onmouseover:鼠标移入事件 onmouseout:鼠标移出事件 onmousedown:鼠标落下事件 onmouseup:鼠标抬起事件 例子: onclick:鼠标点击 ...
- 浅谈ES6新增数据类型:Symbol
面试中喜闻乐见的问题就是问我们的ES6新增了哪些个新特性 这篇文章一起学习一下新增的数据类型:Symbol JS的原始数据类型:6种Boolean,String,Undefined,NULL,Numb ...
- VO、AO、执行环境和作用域链
1.变量对象(variable object) 原文:Every execution context has associated with it a variable object. Variabl ...
- ActiveMq 安装
系统是centos 6.5的 下载ActiveMq的包 下载地址 http://activemq.apache.org/download.html 我下载的是 apache-activemq ...