cookie

cookie 和session 的区别详解

狂风中的少年 提交于 2020-01-08 04:33:41
这些都是基础知识,不过有必要做深入了解。先简单介绍一下。 二者的定义: 当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择, 都纪录下来。当下次你再光临同一个网站,WEB 服务器会先看看有没有它上次留下的 Cookie 资料,有的话,就会依据 Cookie 里的内容来判断使用者,送出特定的网页内容给你。 Cookie 的使用很普遍,许多有提供个人化服务的网站,都是利用 Cookie 来辨认使用者,以方便送出使用者量身定做的内容,像是 Web 接口的免费 email 网站,都要用到 Cookie。 具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。 同时我们也看到,由于采用服务器端保持状态的方案在客户端也需要保存一个标识,所以session机制可能需要借助于cookie机制 来达到保存标识的目的,但实际上它还有其他选择。 cookie机制。正统的cookie分发是通过扩展HTTP协议来实现的,服务器通过在HTTP的响应头中加上一行特殊的指示以提示 浏览器按照指示生成相应的cookie。然而纯粹的客户端脚本如JavaScript或者VBScript也可以生成cookie。而cookie的使用 是由浏览器按照一定的原则在后台自动发送给服务器的

springboot基于CORS处理跨域问题

天涯浪子 提交于 2020-01-08 01:46:05
1. 为什么有跨域问题 跨域不一定都会有跨域问题。 因为跨域问题是浏览器对于ajax请求的一种安全限制: 一个页面发起的ajax请求,只能是与当前页域名相同的路径 ,这能有效的阻止跨站攻击。 因此: 跨域问题 是针对ajax的一种限制 。 但是这却给我们的开发带来了不便,而且在实际生产环境中,肯定会有很多台服务器之间交互,地址和端口都可能不同,怎么办? 2. 解决跨域问题的方案 目前比较常用的跨域解决方案有3种: Jsonp 最早的解决方案,利用script标签可以跨域的原理实现。 限制: 需要服务的支持 只能发起GET请求 nginx反向代理 思路是:利用nginx把跨域反向代理为不跨域,支持各种请求方式 缺点:需要在nginx进行额外配置,语义不清晰 CORS 规范化的跨域请求解决方案,安全可靠。 优势: 在服务端进行控制是否允许跨域,可自定义规则 支持各种请求方式 缺点: 会产生额外的请求 3. cors解决跨域 3.1 什么是cors CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing)。 它允许浏览器向跨源服务器,发出 XMLHttpRequest 请求,从而克服了AJAX只能 同源 使用的限制。 CORS需要浏览器和服务器同时支持。目前,所有浏览器都支持该功能,IE浏览器不能低于IE10。 浏览器端: 目前

Flask框架学习(五)

≡放荡痞女 提交于 2020-01-07 20:11:39
flask框架(五) 自定义转化器 如果用正则的话,我们要用自定义的路由。 1导入from werkzeug.routing import BaseConverter 2我先要写一个类,然后继承BaseConverter,然后实现__init__, to_python(self, value),to_url(self, value) 这三个方法 3 app.url_map.converters['随便写'] = RegexConverter 4 我们在路由里面@app.route('/index/<regex1("\d+"):nid>'),regex1是随便写,regex1("正则表达式") 5 regex1("正则表达式")匹配出来的结果,返回to_python,一定要return (视图函数的参数能接收到to_python的返回值) 6 当我们做反向解析的解析的时候,传递的参数,会传递给to_url,return的结果是拼接到我们路由上 代码示例: from flask import Flask,url_for from werkzeug.routing import BaseConverter app = Flask(import_name=__name__) class RegexConverter(BaseConverter): """ 自定义URL匹配正则表达式 """

php7中cookie进阶优化

笑着哭i 提交于 2020-01-07 18:08:29
php7中cookie进阶优化 1,Cookie的路径 path属性决定允许访问Cookie的路径。比如,设置为"/"表示允许所有路径都可以使用Cookie 2,子域名COOKIE共享 domain设置 *.96net.com.cn 3,Secure 只有ssl https才可以用 4,Expires过期时间 过期时间,在设置的某个时间点后该 Cookie 就会失效 来源: 51CTO 作者: gzxiaomei 链接: https://blog.51cto.com/13959155/2460244

selenium+python登录验证码处理

与世无争的帅哥 提交于 2020-01-07 16:31:10
在实际测试中会遇到登录操作需要验证码验证,一般有以下四种思路: 1.让开发把验证码注释掉 2.设置万能验证码 3.使用Cookie绕过验证码 4.识别验证码 这里演示第三种方法 from selenium import webdriver driver = webdriver.Chrome() #登录页面 driver.get('http://online.xxxx.cn:1223/index.php/admin/Admin/login') driver.add_cookie({'name': 'PHPSESSID', 'value': '0iqiqundpdknoko38abkr7kcl6'}) driver.maximize_window() # 窗口最大化 #登录后页面 driver.get('http://online.fonery.cn:1223/index.php/Admin/Index/index') user = driver.find_element_by_xpath('//dt[@class="name"]') username = user.text if username == 'admin': print('pass') else: print('faild') 获取cookie方法: 1.在浏览器中按F12 2.使用fiidler抓包 来源: CSDN

初识爬虫(番外篇-python)

浪子不回头ぞ 提交于 2020-01-07 15:45:09
最近因为一些特殊原因,了解了一下python,并且做了一个简易爬虫,目标是知乎。 注*:博主并没有深入学习python,只是了解了一下基本用法,如变量类型、循环、判断,然后使用了一下python的工具,博主对这些工具也不太了解,博主的代码仅限于实现功能,如有关于python的问题,请不要问博主。博主的python版本是2.7。 代码: #!/usr/bin/env python # -*- coding:utf-8 -*- import codecs import requests import csv import sys import json import time, datetime #更改str基础编码为utf-8 reload(sys) sys.setdefaultencoding('utf-8') def getdata(cookie,page,search,search_hash_id): url = 'https://www.zhihu.com/api/v4/search_v3?t=general&q=' + str( search) + '&correction=1&offset=' + str( page) + '&limit=20&lc_idx=23&show_all_topics=0&search_hash_id=' + str( search_hash

anwsion问答系统研究笔记

邮差的信 提交于 2020-01-07 12:31:42
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> anwsion /app/文件夹下是action 所有action类都继承/system/中的基类AWS_CONTROLLER /models/文件夹下是models models的基类是AWS_MODEL /views/文件夹下是模板 框架核心代码在/system/中 工具类 helper H 在 /system/class/ 常用的方法类放在 /system/functions.inc.php 用户登录实现 action --- account/ajax/login_process/ login_process_action model ---ucenter login model ---account check_login 用户登录加密方法 $password = md5(md5($password) . $salt); 登录的过程,先检测ucenter是否登录,如果没有再检测account是否登录 用户登录后model有两个动作 update_user_last_login 和 setcookie_logout, setcookie_login update_user_last_login用来更新最后的登录时间和最后的登录ip setcookie_logout 清理老的cookie _user

cookieUtil

柔情痞子 提交于 2020-01-07 05:01:12
package cn.lijun.core.util; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.net.URLEncoder; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * * Cookie 工具类 * */ public final class CookieUtil { /** * 得到Cookie的值, 不编码 * * @param request * @param cookieName * @return */ public static String getCookieValue(HttpServletRequest request, String cookieName) { return getCookieValue(request, cookieName, false); } /** * 得到Cookie的值, * * @param request * @param cookieName * @return */ public

Servlet 工作原理解析

情到浓时终转凉″ 提交于 2020-01-07 04:08:04
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 从 Servlet 容器说起 要介绍 Servlet 必须要先把 Servlet 容器说清楚,Servlet 与 Servlet 容器的关系有点像枪和子弹的关系,枪是为子弹而生,而子弹又让枪有了杀伤力。虽然它们是彼此依存的,但是又相互独立发展,这一切都是为了适应工业化生产的结果。从技术角度来说是为了解耦,通过标准化接口来相互协作。既然接口是连接 Servlet 与 Servlet 容器的关键,那我们就从它们的接口说起。 前面说了 Servlet 容器作为一个独立发展的标准化产品,目前它的种类很多,但是它们都有自己的市场定位,很难说谁优谁劣,各有特点。例如现在比较流行的 Jetty,在定制化和移动领域有不错的发展,我们这里还是以大家最为熟悉 Tomcat 为例来介绍 Servlet 容器如何管理 Servlet。Tomcat 本身也很复杂,我们只从 Servlet 与 Servlet 容器的接口部分开始介绍,关于 Tomcat 的详细介绍可以参考我的另外一篇文章《 Tomcat 系统架构与模式设计分析》。 Tomcat 的容器等级中,Context 容器是直接管理 Servlet 在容器中的包装类 Wrapper,所以 Context 容器如何运行将直接影响 Servlet 的工作方式。 图 1 . Tomcat