草庐IT

Flask-MongoAlchemy

全部标签

[python][flask] Flask 入门(以一个博客后台为例)

目录1.安装1.1创建虚拟环境1.2进入虚拟环境1.3安装flask2.上手2.1最小Demo2.2基本知识3.解构官网指导Demo3.1克隆与代码架构分析3.2入口文件init.py3.3数据库设置3.4蓝图和视图4.其他5.跑起DEMO参考链接1.安装1.1创建虚拟环境mkdirmyprojectcdmyprojectpython3-mvenvvenv1.2进入虚拟环境.venv/bin/activate1.3安装flaskpipinstallFlask2.上手2.1最小Demo将下列代码保存为hello.py:fromflaskimportFlaskapp=Flask(__name__)

[python][flask] Flask 入门(以一个博客后台为例)

目录1.安装1.1创建虚拟环境1.2进入虚拟环境1.3安装flask2.上手2.1最小Demo2.2基本知识3.解构官网指导Demo3.1克隆与代码架构分析3.2入口文件init.py3.3数据库设置3.4蓝图和视图4.其他5.跑起DEMO参考链接1.安装1.1创建虚拟环境mkdirmyprojectcdmyprojectpython3-mvenvvenv1.2进入虚拟环境.venv/bin/activate1.3安装flaskpipinstallFlask2.上手2.1最小Demo将下列代码保存为hello.py:fromflaskimportFlaskapp=Flask(__name__)

深入浅出Flask PIN

最近搞SSTI,发现有的开发开了debug,由此想到了PIN,但一直没有对这个点做一个深入剖析,今天就完整的整理FlaskDebugPIN码的生成原理与安全问题。PIN是什么?PIN是Werkzeug(它是Flask的依赖项之一)提供的额外安全措施,以防止在不知道PIN的情况下访问调试器。您可以使用浏览器中的调试器引脚来启动交互式调试器。请注意,无论如何,您都不应该在生产环境中使用调试模式,因为错误的堆栈跟踪可能会揭示代码的多个方面。调试器PIN只是一个附加的安全层,以防您无意中在生产应用程序中打开调试模式,从而使攻击者难以访问调试器。——来自StackOverFlow回答werkzeug不同

深入浅出Flask PIN

最近搞SSTI,发现有的开发开了debug,由此想到了PIN,但一直没有对这个点做一个深入剖析,今天就完整的整理FlaskDebugPIN码的生成原理与安全问题。PIN是什么?PIN是Werkzeug(它是Flask的依赖项之一)提供的额外安全措施,以防止在不知道PIN的情况下访问调试器。您可以使用浏览器中的调试器引脚来启动交互式调试器。请注意,无论如何,您都不应该在生产环境中使用调试模式,因为错误的堆栈跟踪可能会揭示代码的多个方面。调试器PIN只是一个附加的安全层,以防您无意中在生产应用程序中打开调试模式,从而使攻击者难以访问调试器。——来自StackOverFlow回答werkzeug不同

初识Flask

初识FlaskFlask简介Flask是一个基于Python的web框架,由奥地利开发商ArminRonacher于2010年4月1日发布。它以灵活、“微”框架著称,其本身并不具备太多的功能,但通过丰富的第三方插件,使其在保持重量轻和简单的同时仍然可以进行高度扩展,让开发者能轻松应对现实开发中复杂的需求。FlaskvsDjangoDjango功能大而全,Flask只包含基本的配置;Flask比Django扩展性更好。安装Flask打开cmd窗口,执行如下指令即可安装。pipinstallflask-ihttps://pypi.tuna.tsinghua.edu.cn/simple执行如下指令查

初识Flask

初识FlaskFlask简介Flask是一个基于Python的web框架,由奥地利开发商ArminRonacher于2010年4月1日发布。它以灵活、“微”框架著称,其本身并不具备太多的功能,但通过丰富的第三方插件,使其在保持重量轻和简单的同时仍然可以进行高度扩展,让开发者能轻松应对现实开发中复杂的需求。FlaskvsDjangoDjango功能大而全,Flask只包含基本的配置;Flask比Django扩展性更好。安装Flask打开cmd窗口,执行如下指令即可安装。pipinstallflask-ihttps://pypi.tuna.tsinghua.edu.cn/simple执行如下指令查

Flask send_file函数导致的绝对路径遍历

  平时接触到的python项目并不多,对python的代码审计更是没有接触,偶然朋友发来了一个漏洞 Flasksend_file函数导致的绝对路径遍历 ,感觉打开了新世界的大门,于是就以一个初学者的角度,进行复现分析一下。详情也可以根据 Python:FlaskPathTraversalVulnerability 进行分析学习send_file的妙用  在以flask框架开发的系统中,为了直接实现用户访问某一个URL时就可以下载到文件,我们就使用 send_file 来实现fromflaskimportFlaskfromflaskimportsend_file​app=Flask(__nam

Flask send_file函数导致的绝对路径遍历

  平时接触到的python项目并不多,对python的代码审计更是没有接触,偶然朋友发来了一个漏洞 Flasksend_file函数导致的绝对路径遍历 ,感觉打开了新世界的大门,于是就以一个初学者的角度,进行复现分析一下。详情也可以根据 Python:FlaskPathTraversalVulnerability 进行分析学习send_file的妙用  在以flask框架开发的系统中,为了直接实现用户访问某一个URL时就可以下载到文件,我们就使用 send_file 来实现fromflaskimportFlaskfromflaskimportsend_file​app=Flask(__nam

在Flask中构建API接口的相关概念

在Flask中构建API接口的相关概念重定向行为斜杠以下两个路由的不同之处在于是否使用尾部的斜杠。第一个路由的URL尾部有一个斜杠,看起来就像一个文件夹,访问一个没有斜杠结尾的URL时,Flask会自动进行重定向,在结尾加上一个斜杠。第二个路由的URL没有尾部斜杠,因此其行为表现与一个文件类似,如果访问这个URL时添加了尾部斜杠就会得到一个404错误,这样可以保持URL唯一,并帮助搜索引擎避免重复索引同一页面。@app.route('/home/')defhello_world():return'HelloWorld!'@app.route('/home')defhello_world():r

在Flask中构建API接口的相关概念

在Flask中构建API接口的相关概念重定向行为斜杠以下两个路由的不同之处在于是否使用尾部的斜杠。第一个路由的URL尾部有一个斜杠,看起来就像一个文件夹,访问一个没有斜杠结尾的URL时,Flask会自动进行重定向,在结尾加上一个斜杠。第二个路由的URL没有尾部斜杠,因此其行为表现与一个文件类似,如果访问这个URL时添加了尾部斜杠就会得到一个404错误,这样可以保持URL唯一,并帮助搜索引擎避免重复索引同一页面。@app.route('/home/')defhello_world():return'HelloWorld!'@app.route('/home')defhello_world():r