用于调试和使用内置烧瓶会话cookie的工具

flask-cookie-decode的Python项目详细描述


烧瓶饼干解码图片::https://travis-ci.com/wgwz/flask-cookie-decode.svg?branch=master
:目标:https://travis ci.com/wgwz/flask cookie decode

…内容:

…节编号:

purpose
==


在内置的flask cli中添加一个"cookie"命令,该命令将提供各种
工具,用于调试flask默认使用的安全会话cookie。

` flask cookie decode`:解码并验证会话cookie的签名


后台
==


默认情况下,flask会话使用签名cookie存储其数据。flask
应用程序使用其"密钥"对cookie进行签名。这为flask
应用程序提供了一种检测会话数据任何篡改的方法。如果应用程序
确实使用密钥和安全哈希算法,则会话签名
将是应用程序独有的。

有关烧瓶会话主题的更多信息,请参阅以下参考资料:

*`烧瓶用户会话的安全性如何?`
*`烧瓶会话的快速启动`\u
*`烧瓶会话的API文档`\u

…_`烧瓶用户会话的安全性如何?`:https://blog.miguelgrinberg.com/post/烧瓶用户会话的安全性如何
…_`烧瓶会话的快速启动`:http://flask.pocoo.org/docs/1.0/quickstart/sessions
。_`烧瓶会话的api文档`:http://flask.pocoo.org/docs/1.0/api/sessions


免责声明:保守秘密,秘密!
---------------------------


如果公开此密钥,应用程序将容易受到会话重播攻击。`下面是一个例子,应用程序在404个错误期间公开了"secret"密钥。该示例还演示了会话重放的工作原理。

默认情况下,flask不会在任何地方公开"secret_key"。这取决于你
开发人员保持这种方式!

…_`下面是一个示例`:https://terryvogelsang.tech/mitrectf2018 My Flask app/


用法
=



代码块::bash

$pip install flask cookie decode


图片::https://raw.githubusercontent.com/wgwz/flask cookie decode/master/docs/cookie.png
:alt:在浏览器工具中查找cookie
:宽度:100%
:align:center

https://github.com/wgwz/flask cookie decode/blob/master/examples/app.py>;` ` ` `:

…代码块:python

从flask_cookie_decode import cookiedecode请求

app=flask(uu name_uu)
app.config.update({'secret_u key':'jlghasdhhasdhgahsdg'})
cookie=cookiedecode()
cookie.init_app(app)

@app.route('/')
def index():
a=request.args.get('a')
session['a']=a
返回jsonify(dict(session))


使用cli的示例:
----


1。具有有效签名的cookie:

…代码块::bash

$export flask_app=app.py
$flask cookie解码eyjhijoixnkyxnkamtqyxnkin0.xckk1q.ttpu2zhvn9kxgkp35eragyd8mza
trustedcookie(内容={a':'asdasdjkjasd',过期时间='2019-01-30t20:04:37')

2。签名无效的cookie:

…代码块::bash

$export flask_app=app.py
$flask cookie解码eyjhijoixnkyxnkamtqyxnkin0.xckk1q.ttpu2zhvn9kxgkp35eragyd8mza
不可靠的内容(内容={a':'asdasdjkjasd',过期时间='2019-01-30t20:04:37')

3。过期的cookie:

…代码块::bash

$export flask_app=app.py
$flask cookie解码eyjhijoiyxnkyxkamtqyxnkin0.xckk1q.ttpu2zhvn9kxgkp35eragyd8mza
过期的cookie(内容={a':'asdasdjkjasd'},过期时间='2019-01-30t20:04:37')



文档
===

`docs<;https://flask cookie decode.readthedocs.io/en/latest/>;`

==

`mit<;https://github.com/wgwz/flask cookie decode/blob/master/license>;` `.



==
=
历史记录Towncrier发行说明开始

Flask_Cookie_decode 0.3.0(2019-01-05)
=====


BugFixes
--


-在所有以前的版本中,带有"timestamp"cli标志的cli实际上都是在返回cookie时的时间戳时
签署。*不是*cookie过期时的时间戳,正如它应该做的那样。

在所有以前的版本中,对过期的cookie没有错误处理。当检测到"expiredcookie"时,此
版本现在返回"expiredcookie"。(1)




改进的文档
——


-更新文档以包含有关
烧瓶会话工作方式的更多详细信息,以及从安全角度应注意的事项。文档还反映了最新的cli工作方式。(1)



>0.1.0(2018-12-29)
====


*在PYPI上首次发布。




欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Android上已连接音频输入设备的java列表   java是创建类的新对象还是使用静态方法?   Java:Shift/Rotate对象数组   Java Casting ArrayIterator<Object>   在java中返回布尔值时出错   无法确定文本文件读入程序(java)中的各种元素   Java Swing JToolBar   JAVAlang.IllegalStateException执行Ghost4J(Linux 32对64位)   jvm如何增加ubuntu系统的java堆化?   java CORS策略“AccessControlAllowOrigin”(Anguar 8和Servlet)   使用dagger 2的java视图依赖项注入   单元测试中RxJava的java模拟活动生命周期   arraylist中的Java打印字符串   java返回值显示为0.0。为什么会这样?   java是clientserver应用程序所必需的MVC吗?   ByteToMessageDecoder类中的java内存泄漏   java将大量文档写入firestore   GWT项目中的java TomcatMaven插件。两者之间的区别是什么:org。科德豪斯。魔咒和组织。阿帕奇。公猫maven插件   java swing:向JTree项添加自定义图形按钮