cookie

python网络爬虫之requests库

拥有回忆 提交于 2020-01-03 02:44:17
Requests库是用Python编写的HTTP客户端。Requests库比urlopen更加方便。可以节约大量的中间处理过程,从而直接抓取网页数据。来看下具体的例子: def request_function_try(): headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0'} r=requests.get(url="http://www.baidu.com",headers=headers) print "status code:%s" % r.status_code print "headers:%s" % r.headers print "encoding:%s" % r.encoding print "cookies:%s" % r.cookies print "url:%s" % r.url print r.content.decode('utf-8').encode('mbcs') 直接用requests.get()方法进行http链接,其中输入参数url以及headers。返回值就是网页的response。从返回的response中可以得到状态吗,头信息。编码范式,cookie值,网页地址以及网页代码 E:\python2.7

XSS 初识

大憨熊 提交于 2020-01-03 02:17:07
xss(跨站脚本攻击) xss是指攻击者在网页中嵌入客户端脚本,通常是javascript编写的恶意代码,当用户使用浏览器浏览被嵌入恶意代码的网页时,恶意代码将在用户的浏览器上被解析执行。重点是“脚本”这两个字,脚本主要有javascript和actionscript。 要想深入的研究xss,必须要精通javascript,javascript能做到什么效果,xss的威力就有多强大。 危害 javascript可以用来获取用户的Cookie、改变页面内容、url转跳,那么存在xss漏洞的网站,就可以盗取用户cookie、黑掉页面、导航到恶意网站,而攻击者仅仅需要向页面中注入javascript代码中。 *~盗取管理员cookie *~XSS Worm *~挂马(水坑攻击) *~键盘记录 *~利用网站重定向 *~修改网页内容 攻击场景 在各类sns、邮件系统、开源流行的Web应用、BBS、微博等社交场景中,前端攻击广泛实施与关注。主要是一些大型网站才有价值。 *~支持html解析和javascript解析的客户端,如:html文档、flash、pdf等 *~url的参数,回显到网页上 *~from表单提交的内容出现在网页上,如:昵称、邮箱、简介、留言 分类 主要分三类:反射型、存储型、DOM型(还有flash xss、mxss)。 1.反射型xss 反射型xss也被称为非持久性xss

Django面试题(附带答案)

南楼画角 提交于 2020-01-03 00:01:45
总结的一些Django中会问的问题,希望对你们有用。 1、 Django的生命周期 当用户在浏览器输入url时,浏览器会生成请求头和请求体发送给服务端,url经过Django中的wsgi时请求对象创建完成,经过django的中间件,然后到路由系统匹配路由,匹配成功后走到相对应的views函数,视图函数执行相关的逻辑代码返回执行结果,Django把客户端想要的数据作为一个字符串返回给客户端,客户端接收数据,渲染到页面展现给用户 2、 内置组件 Admin、from、modelfrom、model 3、 缓存方案 设置缓存到内存 缓存到redis,配置redis CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCache", "LOCATION": "redis://39.96.61.39:6379", 'PASSWORD':'19990104.Yu', "OPTIONS": { "CLIENT_CLASS": "django_redis.client.DefaultClient", } } } 单个view缓存 视图导入from django.views.decorators.cache import cache_page 在需要进行缓存的视图函数上添加如下装饰器即可: @cache_page(60 * 2)

Django—views系统:views基础

时光怂恿深爱的人放手 提交于 2020-01-03 00:01:00
Django的View(视图)简介 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应。 响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片。 无论视图本身包含什么逻辑,都要返回响应。 代码写在哪里也无所谓,只要它在你当前项目目录下面。 除此之外没有更多的要求了——可以说“没有什么神奇的地方”。 为了将代码放在某处,大家约定成俗将视图放置在项目(project)或应用程序(app)目录中的名为 views.py 的文件中。 一个简单的视图 下面是一个以HTML文档的形式返回当前日期和时间的视图: from django.http import HttpResponse import datetime def current_datetime(request): now = datetime.datetime.now() html = "<html><body>It is now %s.</body></html>" % now return HttpResponse(html)    让我们来逐行解释下上面的代码: 首先,我们从 django.http 模块导入了 HttpResponse 类,以及Python的 datetime 库。 接着,我们定义了 current_datetime

django中间件

帅比萌擦擦* 提交于 2020-01-02 21:43:29
一、什么是中间件 中间件顾名思义,是 介于request与response处理之间的一道处理过程 ,相对比较轻量级,并且在全局上改变django的输入与输出。因为改变的是全局,所以需要谨慎实用,用不好会影响到性能 django中间价官网定义: Middleware is a framework of hooks into Django’s request/response processing. It’s a light, low-level “plugin” system for globally altering Django’s input or output. 中间件位于web服务端与url路由层之间 二、中间件有什么用 如果你想修改请求,例如被传送到view中的 HttpRequest 对象。 或者你想修改view返回的 HttpResponse 对象,这些都可以通过中间件来实现。 可能你还想在view执行之前做一些操作,这种情况就可以用 middleware来实现。 Django默认的中间件:(在django项目的settings模块中,有一个 MIDDLEWARE_CLASSES 变量,其中每一个元素就是一个中间件,如下图) MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django

Django框架详细介绍---视图系统

只愿长相守 提交于 2020-01-02 21:33:41
Django视图系统 1.什么是视图   在Django中,一个视图函数/类,称为视图。实质就是一个用户自定义的简单函数,用来接收WEB请求并xing响应请求,响应的内容可以是一个HTML文件、重定向、一个文件、照片等。无论视图本身包含什么逻辑,都要返回响应。   一般的,视图函数一般存放于用户创建的APP目录下的views.py中。 2.视图种类   1)FBV   FBV(function base views),全称基于函数的视图,也就是在视图中使用函数处理请求, 函数内部再定义如何处理GET、POST等请求 urlpatterns = [# 班级列表 path('class_list/', views.class_list), # 创建班级 path('create_class/', views.create_class), ] def class_list(request): cla_list = models.Class.objects.all() return render(request, 'class_list.html', {'class_list': cla_list}) def create_class(request): if request.method == 'POST': # 获取班级名称 class_name = request.POST.get(

会话、Cookie、Session、url重写

感情迁移 提交于 2020-01-02 16:15:55
会话 在介绍Cookie与Session之前,想说明一下什么是会话。 会话 :可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应。 在JavaWeb中,客户向某一服务器发出第一个请求开始,会话就开始了,直到客户关闭了浏览器会话结束。 为什么需要会话技术呢?这还地得从Http说起,Http是无状态的,所谓无状态就好像没有记忆一样。要保存一些共享的数据信息,就需要会话技术。 会话跟踪技术 :在一个会话的多个请求中共享数据,这就是会话跟踪技术。 四大会话跟踪技术分别是:Cookie,Session,url重写,隐藏域。 Cookie :服务器在一个应答首部传递给浏览器的名称/值对。浏览器保存的时间由cookie的过期时间属性来指定。当浏览器向某个服务器发送一个请求时,它会检查其保存的cookie,并在请求首部中包含从同一台服务器上接收到的所有cookie。 首次都是通过URL传递的,即在URL后跟一个ID标识。然后会判断客户端是否接受cookie,接受的话,存放在cookie里。不接受的话,仍然利用URL传递,即id保存在每次的URL里。 Session :在浏览器和服务器之间不直接传送所有的状态信息,而只是传递表示符(session ID)。浏览器发送sessionID,服务器跟踪与该会话相关联的所有信息

服务器认证、授权、鉴权、session、token

跟風遠走 提交于 2020-01-02 15:25:23
1、session(赛神)会话机制 session 会话机制会借助 cookie + session 一起来做认证 cookie 是放在浏览器中的,cookie 是存储在客服端,但是可以由服务端和客户端生成。 sesion 是保存在服务端的数据库中的,session 是服务端一块存储空间,只能由服务端生成。 session 是把 session id 也就是session 的 key 值,保存到 cookie 当中 这个 key 值 一般在访问其他页面的时候会放到 cookie 当中,向后端发起请求 当用户输入账号和密码登录后,服务端会返回用户的session id 把他放在cookie中这就是session机制认证 2、token(套肯)安全令牌机制 token 不依赖服务器资源 token 服务端生成的 往往会将 token 放在浏览器中,请求头中 当用户输入账号和密码后,后端将他的安全令牌作为相应数据返回给我,那就是 token 令牌机制 当用户输入账号和密码后,会返回一个 token ,绝大多数情况下会 通过前端的工程师放到请求头当中,然后再去发起请求 用的最多的是 jwt token 机制 浏览器接收到响应报文之后,会将 token 放在 local storage (本地存储空间)/ session storage 3、鉴权   是指验证用户是否拥有访问系统的权利--

express-session使用理解

佐手、 提交于 2020-01-02 08:14:17
本篇主要段落翻译来自https://github.com/expressjs/session 客户端与服务会使用一个Sessionid的Cookie值来进行客户端和服务器端会话的匹配,这个Cookie一般是服务器端读/写的,并在Http请求响应的Header中的Set-Cookie属性设置: express-session是针对nodejs express框架提供的一套session扩展 主要参数有 secret,sesave,saveUninitialized,cookie cookie 主要属性如下,默认值 { path: '/', httpOnly: true, secure: false, maxAge: null } domain :设置cookie可以设置的域名,如果没有设置则cookie默认在当前域可以使用 expires :cookie失效时间,可以设置时间,不建议给固定时间,设置maxAge之后自动会生成这个值 例子 //获取当前时间 var date=new Date(); var expireDays=10; //将date设置为10天以后的时间 date.setTime(date.getTime()+expireDays*24*3600*1000); //将userId和userName两个Cookie设置为10天后过期 expires:date