cookie

YY工具隐私政策

匆匆过客 提交于 2019-12-06 15:11:57
YY工具(以下简称“我们”)深知个人信息对您的重要性,并会尽全力保护您的个人信息安全可靠。我们致力于维持您对我们的信任,恪守以下原则,保护您的个人信息:权责一致原则、目的明确原则、选择同意原则、最少够用原则、确保安全原则、主体参与原则、公开透明原则等。同时,我们承诺,我们将按业界成熟的安全标准,采取相应的安全保护措施来保护您的个人信息。 请在使用我们的产品(或服务)前,仔细阅读并了解本《隐私权政策》。 一、我们如何收集和使用您的个人信息 个人信息是指以电子或者其他方式记录的能够单独或者与其他信息结合识别特定自然人身份或者反映特定自然人活动情况的各种信息。 我们仅会出于本政策所述的以下目的,收集和使用您的个人信息: (一)为您提供网上购物服务 1、业务功能一:注册成为用户 为完成创建账号,您需提供以下信息:您的姓名、电子邮箱地址、创建的用户名和密码。 在注册过程中,如果您提供以下额外信息,将有助于我们给您提供更好的服务和体验:手机号、工作职位、公司、教育背景、……。但如果您不提供这些信息,将不会影响使用本服务的基本功能。 您提供的上述信息,将在您使用本服务期间持续授权我们使用。在您注销账号时,我们将停止使用并删除上述信息。 上述信息将存储于中华人民共和国境内。如需跨境传输,我们将会单独征得您的授权同意。 2、业务功能二:商品展示、个性化推荐、发送促销营销信息。 (略) (二

跨站请求伪造csrf和auth模块

こ雲淡風輕ζ 提交于 2019-12-06 15:11:27
目录 跨站请求伪造csrf 如何设置 ajax设置 方式一(J较为繁琐): 方式二(较为简单): 方式三(推荐): csrf相关装饰器 auth模块 如何拓展auth_user表字段 方式一: 方式二: 跨站请求伪造csrf 如何设置 你只要在写form表单的时候,只要在在表单中写一个{% csrf_token %} ''' <form action="" method="post"> {% csrf_token %} <p>username:<input type="text" name="username"></p> <p>target_account:<input type="text" name="target_user"></p> <p>money:<input type="text" name="money"></p> <input type="submit"> </form> 网站在返回给用户一个form表单的时候 会自动在该表单隐藏一个input框 这个框的value是一个随机字符串 但是网站能够记住每一个浏览器发送的随机字符串 ''' ajax设置 方式一(J较为繁琐): ''' 先在页面任意的位置上书写{% csrf_token %} 然后在发送ajax请求的时候 通过标签查找获取随机字符串添加到data自定义对象即可 data:{'username':'jj'

CSRF 跨站

南楼画角 提交于 2019-12-06 15:07:58
目录 CSRF 跨站请求伪造 解决跨站伪造问题: csrf 相关的装饰器: csrf.js文件: CSRF 跨站请求伪造 CSRF全称为Cross-site request forgery,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。   CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账......造成的问题包括:个人隐私泄露以及财产安全。 CsrfViewMiddleware的作用: 在render返回页面的时候,在页面中塞了一个隐藏的input标签;当你提交POST数据的时候,它帮你做校验,如果校验不通过就拒绝这次请求 跨站请求伪造csrf : 1.网站的搭建 : 写一个跟正规网站一模一样的页面;用户输入用户名 密码 对 方账户 转账金额提交,请求确实是朝银行的接口发送的 钱也扣了 但是对方账户变了 变成了钓鱼网站自己提前设置好的账户 2,钓鱼网站功能的实现 : 填写form表单的时候 让用户填写的对方账户input并没有name属性,是你自己在内部偷偷隐藏了一个具有name属性的input框,并且value值是你自己的账户 然后将该标签隐藏了 解决跨站伪造问题: 解决跨站问题 : 1

day 58 cookie与session 中间件

核能气质少年 提交于 2019-12-06 15:04:03
day 58 cookie与session 中间件 01. cookie与session 目的;目的是为了保存客户端的用户状态 原因;HTTP协议是无状态的 cookie 保存在客户端浏览器上的键值对 cookie虽然是保存在客户端浏览器上的键值对 但是它是有服务端设置的 浏览器有权禁止cookie的写入 django操作cookie 前期准备 obj = HttpResponse() obj = render() obj = redirect() 如何设置cookie obj.set_cookie('k','v') # 告诉浏览器设置 如何获取cookie request.COOKIES.get('k') # 获取浏览器携带过来的cookie值 如何设置cookies超时时间 obj.set_cookie('k','v',max_age=10) # 以秒为单位 obj.set_cookie('k1','v1',expires=3) # 兼容IE浏览器 删除cookie(注销 推出登录) obj.delete_cookie('k') # 使k的值为空 session 保存在服务端上的兼职对 session的工作机制需要依赖于cookie 设置session request.session['k']='v' # 在设置之前要在数据库中创建表 # 词条命令要将数据保存到django

day 59

*爱你&永不变心* 提交于 2019-12-06 15:03:50
day 59 01.importlib 模块 利用字符串导入模块 只能写到文件名为止,不能写内部的变量名 利用反射解决变量名问题 01.基于django中间件的思想实现功能配置 以模块的方式导入 # notify.py def send_email(content): print('邮箱通知:%s'%content) def send_msg(content): print('短信通知:%s'%content) def send_wechat(content): print('微信通知:%s'%content) # start.py from notify import * def send_all(content): send_msg(content) send_email(content) send_wechat(content) if __name__ == '__main__': send_all('再坚持一天就周末了') 以配置文件的形式 # settings.py NOTIFY_LIST = [ 'notify.email.Email', 'notify.msg.Msg', 'notify.wechat.WeChat', 'notify.qq.Qq', ] import settings import importlib def send_all(content):

Flask框架入门(一)

大憨熊 提交于 2019-12-06 14:53:17
  Flask诞生于2010年,是Armin ronacher(人名)用 Python 语言基于 Werkzeug 工具箱编写的轻量级Web开发框架。   Flask 本身相当于一个内核,其他几乎所有的功能都要用到扩展(邮件扩展Flask-Mail,用户认证Flask-Login,数据库Flask-SQLAlchemy),都需要用第三方的扩展来实现。比如可以用 Flask 扩展加入ORM、窗体验证工具,文件上传、身份验证等。Flask 没有默认使用的数据库,你可以选择 MySQL,也可以用 NoSQL。其 WSGI 工具箱采用 Werkzeug(路由模块),模板引擎则使用 Jinja2。这两个也是 Flask 框架的核心。 准备 mkvirtualenv flask_demo -p python3 安装 pip install flask==0.12.4 一 .创建Flask项目 Flask不同于Django,不会提供任何自动的操作,所以需要手动创建项目目录,需要手动创建启动项目的管理文件 例如,创建项目目录flaskdemo,在目录中创建manage.py。在pycharm中打开项目并指定上面创建的虚拟环境 1 form flask import Flask 2 app = Flask(__name__) 3 4 @app.route('/') 5 def index(): 6

浅谈session与cookie

感情迁移 提交于 2019-12-06 14:09:13
什么是cookie? Cookie 是一些数据, 存储于你电脑上的文本文件中,用于存储用户的访问记录。 什么是session? session是在服务端保存的用来跟踪用户的状态的数据结构。 都是一种会话技术。 session和cookie的区别: 其实session是在cookie的基础上演变过来的。 cookie存储于本地浏览器端,而cookie存储在服务端。 因为cookie存储于本地浏览器,所以我们可以找到本地浏览器缓冲数据进行篡改,那样使得安全性非常低,你想一下,通过获取你的本地缓存就可以得到你数据账号,这是非常不安全的。 而session它是在客户端登录之后,服务器创建对应的session,session创建完成之后,会把session的ID发送给客户端,客户端在存储到本地浏览器中。这样每次访问服务器都会带着sessionID,在内存中找到与之对应的session,就能够正常工作。 cookie有容量限制,每一个站下面的cookie也有个数限制,而session没有限制 cookie和session存储也有区别: session可以存储子redis、数据库、应用程序中,而cookie只能存储在浏览器中。 来源: https://www.cnblogs.com/zhao-hao/p/11988583.html

web2py 操作cookie 深入思考

烂漫一生 提交于 2019-12-06 14:07:54
前些日子,用web2py做一个自我日常管理的网站,发现cookie这关死活过不了,思路很简单: 从request获取cookie 然后读取值(没有该cookie则创建) 修改cookie的值,送到response中,这样完成了一次更新 就是这么简单的一个问题,却出现各种奇怪的问题,为难了一段时间,开始觉得网上的API说明太少了,官方的例子也特别的稀少,如今做android和网站交互的时候,只能打开了web2py的服务器来测试android客户端,一时灵感,想解决这个问题,以下是说明和解决方案。 直接调用 response.cookies['your key'] 这样获取值,总是会有问题,但是关注官网的例子,就会发现其实是esponse.cookies['your key'] .value 那么cookies['key']到底得到了什么,为什么操作不正确呢,做了一个测试,直接return这个 response.cookies['your key'] 其结果是这样的 这是什么,web2py框架自动的给这个返回值加了默认布局器,所以完全可以认为返回的是dict对象,不然web2py不会作这一步处理,如果不知道默认布局是什么看起来会非常费劲,因此我对这个值进行遍历,代码如下: {{=len(result)}} <br> {{num=1}} {{ for i in result:}} {{

Django --- cookie与session,中间件

隐身守侯 提交于 2019-12-06 13:49:18
目录 1.cookie与session 1.cookie 2.session 2.中间件 1.中间件作用 2.用户可以自定义的五个方法 3.自定义中间件 1.cookie与session 1.cookie 1.什么是cookie 因为HTTP协议是无状态的,所以为了保存客户端的用户状态,在客户端就是用cookie来保存用户的状态 注意:cookie是保存在客户端的校验 2.cookie的特性 是保存在可以断浏览器上的键值对 cookie的值可以通过自己来设置,也可以通过服务端来设置 浏览器有权禁止cookie的写入 3.django如何操作cookie 在使用小白必会三板斧的时候,不能直接使用,需要进行一下转化,但是使用的方式还是一样的 obj = HttpResponse() # 利用obj对象你才可以操作cookie return obj obj = render() return obj obj = redirect() return obj 4.如何设置cookie 1.设置cookie值 obj.set_cookie('k1','v1') # 对浏览器中的cookie进行设置 2.获取cookie值 request.COOKIE.get('k1') # 获取浏览器携带过来的cookie值 3.设置cookie的超时时间 obj.set_cookie('k1','v1'

Tornado

允我心安 提交于 2019-12-06 13:47:13
前言 Tornado是使用Python编写的一个强大的、可扩展的Web服务器。它在处理严峻的网络流量时表现得足够强健,但却在创建和编写时有着足够的轻量级,并能够被用在大量的应用和工具中。 Tornado是基于Bret Taylor和其他人员为FriendFeed所开发的网络服务框架,当FriendFeed被Facebook收购后得以开源。不同于那些最多只能达到10,000个并发连接的传统网络服务器,Tornado在设计之初就考虑到了性能因素,旨在解决C10K问题,这样的设计使得其成为一个拥有非常高性能的框架。此外,它还拥有处理安全性、用户验证、社交网络以及与外部服务(如数据库和网站API)进行异步交互的工具。 Tornado 所做的是能够快速简单地编写高速的Web应用。如果编写一个可扩展的社交应用、实时分析引擎,或RESTful API,那么简单而强大的Python,以及Tornado正是为你准备的! 总之,Tornado也很强大!!! 下载和安装 # pip安装 pip3 install tornado # 源码安装 tar xvzf tornado-4.4.1.tar.gz cd tornado-4.4.1 python setup.py build sudo python setup.py install 源码下载: tornado-1.2.1.tar.gz 、