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
随机推荐
- 什么是 Message Queue
Message Queue 是一种非同步的从一个服务到另一个服务的交流形式, 被用于无服务器架构和微服务架构中. Messages 被储存在一个队列中直到被处理了或被删除. 每个Messages只会被 ...
- 日积月累——java虚拟机内存区域的划分
看了博主“一杯凉茶”一篇对java内存详解的文章后,虚心学习,并记录下来 ,以便日后再来温故. 一,运行时数据区 1.程序计数器 当前线程所执行的字节码行号指示器,字节码解释器工作依赖计数器控制完成, ...
- 基于Java Instrument的Agent实现
使用 Instrumentation,使得开发者可以构建一个独立于应用程序的代理程序(Agent),用来监测和协助运行在 JVM 上的程序,甚至能够替换和修改某些类的定义.有了这样的功能,开发者就可以 ...
- 第一条python语句!
- keil折叠代码
在代码页面右键 Outlining->Start All Outlining
- C# 保存屏幕截图
//屏幕宽 int iWidth = Screen.PrimaryScreen.Bounds.Width; //屏幕高 int iHeight = Screen.PrimaryScreen.Bound ...
- 右键菜单添加包含ICON图片的快捷打开方式
右键菜单添加包含ICON图片的快捷打开方式: ①保存如下代码为“submit.reg”, ②修改对应的程序地址 ③双击创建的文件,导入到注册表中,即可 Windows Registry Editor ...
- cmd中运行maven -v提示JAVA_HOME的配置问题解决办法
问题描述: 在安装maven之后,输入:mvn --version进行查询,结果是: The JAVA_HOME environment variable is not defined correct ...
- Python3.7 练习题(二) 使用Python进行文本词频统计
# 使用Python进行词频统计 mytext = """Background Industrial Light & Magic (ILM) was starte ...
- UNION ALL 心得
TABLE_A 表 UNION ALL TABLE_B 表 UNION 或者 UNION ALL 之后 1.字段长度 必须相同 (如A 10 个列,则B 也要10个列) 2.查询条件也要相同 (A ...