cookie

PHP用COOKIE实现一套SESSION机制

≡放荡痞女 提交于 2019-12-03 07:37:34
PHP的 SESSION 是根据访客浏览器传过来的SESSION ID(表现为一个COOKIE) 来找到服务器的会话文件(/tmp/SESS_ID),以便通过$_SESSION数组读取里面的内容(会话变量). 利用PHP的SESSION可以很方便地实现购物车,验证码,csrf_token的记录. 可以把一个关联数组赋值给一个会话变量. 两种方式的比较 : COOKIE(PHPSESSID) -> /tmp/SESS_XXX -> $_SESSION数组 COOKIE(MYID) -> 查询数据库进行身份验证 -> online表(session字段) 密码入库处理: $salt = sha1(uniqid(mt_rand(), true)); //mt_rand()表示前缀,true表示在末尾加上熵. $pwd_db = sha1($salt.sha1($pwd_user)); //PHP官方建议使用password_hash取代sha1这些哈希"加密" 其中随机生成的盐值$salt和加盐散列后的密码$pwd_db都存储到用户表对应的用户记录里. 验证密码时,根据公式算出用户输入的密码,然后进行字符串比对(==或===或strcmp). 这样就算数据库里的$pwd_db泄露了,攻击者也很难通过彩虹表查到密码的明文. 其中: uniqid获取一个带前缀,基于当前时间微秒数的唯一ID.

How to get html tag attribute values using JavaScript Regular Expressions?

匿名 (未验证) 提交于 2019-12-03 07:36:14
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 由 翻译 强力驱动 问题: Suppose I have this HTML in a string: <meta http-equiv = "Set-Cookie" content = "COOKIE1_VALUE_HERE" > <meta http-equiv = "Set-Cookie" content = "COOKIE2_VALUE_HERE" > <meta http-equiv = "Set-Cookie" content = "COOKIE3_VALUE_HERE" > And I have this regular expression, to get the values inside the content attributes: /<meta http-equiv=[\"']?set-cookie[\"']? content=[\"'](.*)[\"'].*>/ ig How do I, in JavaScript, get all three content values? I've tried: var setCookieMetaRegExp = /<meta http-equiv=[\"']?set-cookie[\"']? content=[\"'](

Cookie中的httponly的属性和作用

£可爱£侵袭症+ 提交于 2019-12-03 07:35:07
1.什么是HttpOnly? 如果cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,这样能有效的防止XSS攻击,窃取cookie内容,这样就增加了cookie的安全性,即便是这样,也不要将重要信息存入cookie。XSS全称Cross SiteScript,跨站脚本攻击,是Web程序中常见的漏洞,XSS属于被动式且用于客户端的攻击方式,所以容易被忽略其危害性。其原理是攻击者向有XSS漏洞的网站中输入(传入)恶意的HTML代码,当其它用户浏览该网站时,这段HTML代码会自动执行,从而达到攻击的目的。如,盗取用户Cookie、破坏页面结构、重定向到其它网站等。 2.HttpOnly的设置样例 response.setHeader("Set-Cookie", "cookiename=httponlyTest;Path=/;Domain=domainvalue;Max-Age=seconds;HTTPOnly"); 例如: //设置cookie response.addHeader("Set-Cookie", "uid=112; Path=/; HttpOnly") //设置多个cookie response.addHeader("Set-Cookie", "uid=112; Path=/; HttpOnly"); response.addHeader

校花转学到我们班,于是我用Python把她空间给爬了个遍!

橙三吉。 提交于 2019-12-03 07:13:29
开发环境:win7下的 python3.5、MySQL5.7 编辑器: pycharm2017.1、ipython,Navicat for mysql 需要的python第三方库: selenium、PIL、Requests、MySQLdb、csv、pandas、numpy、matplotlib、jieba、wordcloud 另外还用到了无头浏览器PhantomJS。 主要思路: 一、通过selenium+phantomjs模拟登录qq空间取到cookies和g_qzonetoken,并算出gtk 二、通过Requests库利用前面得到的url参数,构造http请求 三、分析请求得到的响应,是一个json,利用正则表达式提取字段 四、设计数据表,并将提取到的字段插入到数据库中 五、通过qq邮箱中的导出联系人功能,把好友的qq号导出到一个csv文件,遍历所有的qq号爬取所有的说说 六、通过sql查询和ipython分析数据,并将数据可视化 七、通过python的第三方库jieba、wordcloud基于说说的内容做一个词云 闲话不多说,直接上代码 通过selenium+phantomjs模拟登录qq空间取到cookies和g_qzonetoken,并算出gtk import re from selenium import webdriver from time import

cookie

大城市里の小女人 提交于 2019-12-03 07:12:53
1.cookie的概念 cookie(会话跟踪技术),相当于第一次跟服务器连接后,服务器给你发的一个身份牌,上面可以记录跟你有关的信息(是否登录,购物车等等信息),以后只要再跟服务器通信,必须带着这个令牌,这样一来,服务器会直接知道你身份牌上所有的信息。 cookie存在浏览器的缓存中。 什么是缓存?数据交换的缓冲区----临时储存 2.cookie的特点 1.只能使用文本文件(如果浏览器可以随意在客户端机器生成文件,比如身份令牌,那将是个定时炸弹,安全问题会变得非常严重) 2.文件有大小限制4K(文件若没有大小限制,相当于身份令牌重几百斤,挂在脖子上什么感觉?) 3.数量限制,小于50条(一般浏览器限制大概在50条左右,门禁卡里能存下一部蓝光高清么) 4.读取有域名限制(不可跨域读取,只能由写入cookie的 同一域名 的网页进行读取。简单来说,谁写的cookie,谁才有权利读取) 5.时效限制(每个cookie有时效,最短的有效期是:会话级别(关闭浏览器,cookie销毁); 2.cookie的使用 设置 会话级默认路径: document.cookie = "name=abc" cookie的格式要求,名称=值 在cookie 的名或值 中 不能使用分号(;)、逗号(,)、等号(=)以及空格这是cookie的赋值规则 指定有效期: 设置cookie的保存时间

分布式cookie-session的实现(spring-session)

房东的猫 提交于 2019-12-03 07:05:29
1 session存储策略 存储,即在后台使用session的setAttribute,getAttribute等方法时,这些内部存放的数据最终存储至什么位置。比如在默认的tomcat实现中,相应的数据即存储在内存中,并在停止之后会序列化至磁盘中。 可以使用内存存储和第三方存储,如redis。对于集群式的session存储,那么肯定会使用第三方存储的实现。 在spring-session中,对session存储单独作了一个定义,但定义上基本保证与http session一致,主要的目的在于它可以支持在非http的环境中模拟使用。因此不直接使用http session接口。 先看定义: public interface Session { /** 获取惟一的id,可以理解为即将每个session当作一个实体对象 */ String getId(); <T> T getAttribute(String attributeName); Set<String> getAttributeNames(); void setAttribute(String attributeName, Object attributeValue); void removeAttribute(String attributeName); } 从这个定义来看,如果要使用httpSession

05_Fiddler的Script 脚本用法

久未见 提交于 2019-12-03 06:37:01
现在我们来看看Fiddler的高级用法. Fiddler Script。 Fiddler中的script 可以让我们自动修改Http request和Response 的内容。 而不用手动地去下"断点"来修改http Request或Response中的值。 Fiddler的作者 Fiddler 的作者是 Eric Lawrence 是个大师级的人物, 目前在微软总部西雅图工作。 他的博客是: http://www.ericlawrence.com/Eric/ 博客中能看到他的简历,以及一些生活照. 遇到问题如何向Fiddler的作者请教 Eric Lawrence 在Google 论坛中建了一个Fiddler 的讨论组, 地址是: https://groups.google.com/forum/?fromgroups#!forum/httpfiddler 在这里Fiddler的使用者如果遇到任何问题,都可以这论坛里直接问Eric Law. Eric Law一般都会很快答复你。 在问问题之前,请搜索下。因为你的问题很可能别人早就问过了。 关于Fiddler Script Fiddler 包含了一个脚本文件可以自动修改Http Request 和Response.这样我们就不需要手动地下"断点"去修改了, 实际上它是一个脚本文件CustomRules.js 位于: C:

cookies

那年仲夏 提交于 2019-12-03 05:08:37
cookie和session 无状态的 http 协议 如上图所示,HTTP协议 是无状态的协议,用户浏览服务器上的内容,只需要发送页面请求,服务器返回内容。对于服务器来说,并不关心,也并不知道是哪个用户的请求。对于一般浏览性的网页来说,没有任何问题。 但是,现在很多的网站,是需要用户登录的。以淘宝为例:比如说某个用户想购买一个产品,当点击 “ 购买按钮 ” 时,由于HTTP协议 是无状态的,那对于淘宝来说,就不知道是哪个用户操作的。 为了实现这种用户标记,服务器就采用了cookie这种机制来识别具体是哪一个用户的访问。 如图,为了实现用户标记,在Http无状态请求的基础之上,我们需要在请求中携带一些用户信息(比如用户名之类,这些信息是服务器发送到本地浏览器的,但是服务器并不存储这些信息),这就是cookie机制。 需要注意的是:cookie信息是保存在本地浏览器里面的,服务器上并不存储相关的信息。 在发送请求时,cookie的这些内容是放在 Http协议中的header 字段中进行传输的。 几乎现在所有的网站都会发送一些 cookie信息过来,当用户请求中携带了cookie信息,服务器就可以知道是哪个用户的访问了,从而不需要再使用账户和密码登录。 但是,刚才也提到了,cookie信息是直接放在Http协议的header中进行传输的,看得出来,这是个隐患

requests用法基础-进阶

狂风中的少年 提交于 2019-12-03 04:46:55
本节内容 模块的安装 -----------------------基础用法--------------------- GET用法、POST用法 -----------------------进阶用法-------------------- cookie处理、代理ip、session 一 模块安装: 1). 安装requests包还是很方便的,电脑中有python环境,打开cmd,输入pip install requests下载; 如果有同学使用pycharm的话,选择file-->setting-->Project interpreter-->右边"+"号点击--->输入模块名---->选中下载。 2). requests的作用、特点、以及使用流程 作用:模拟用户使用浏览器上网 特点:简单、高效 使用流程: 指定url; 发起请求(requests.get/post); 获取响应信息/数据(response); 持久化存储(保存csv、MySQL、txt等); 二基本用法: 1). get(url,headers,params):各用法 获取搜狗首页的页面数据: 1 import requests #引包 2 #1指定url 3 url = 'https://www.sogou.com/' 4 #2.发起请求 5 response = requests.get(url=url)