Python
文章平均质量分 92
evancss
信息安全行业摸爬滚打了十好几年的资深码农,www.scap.org.cn创始人。
展开
-
Python中的Berkeley DB(1):Hello Berkeley DB
Python中的Berkeley DB – 第一篇:Hello Berkeley DB什么是Berkeley DB1Berkeley DB(后文简称BDB)是一个高性能的嵌入式数据库编程库(引擎),它可以用来保存任意类型的键/值对 (Key/Value Pair),而且可以为一个键保存多个数据。BDB可以支持数千的并发线程同时操作数据库,支持最大256TB的数据。 BDB提供诸如C语言,C++,J原创 2015-09-16 00:16:18 · 3452 阅读 · 0 评论 -
Python中的Berkeley DB(2):数据结构
Python中的Berkeley DB(2):数据结构Berkeley DB的数据存储结构BDB支持四种数据存储结构及相应算法,官方称为访问方法(Access Method),分别是哈希表(Hash Table)、B树(BTree)、队列(Queue)、记录号(Recno)。在创建数据库的时候,必须通过dbtype参数将存储结构指定为上述结构中的一种,一旦数据库文件已创建则不能再更改其结构。 结原创 2016-05-30 09:56:14 · 1440 阅读 · 0 评论 -
Apache Struts2任意代码执行漏洞(S2-032)检测程序
上个月写的一段代码,记录下来以供不时之需。漏洞概况2016年4月21日,Struts2官方发布两个安全公告(S2-031,S2-032),其中S2-032(CVE-2016-3081)官方评级为高。Apache Struts 2是世界上最流行的Java Web服务器框架之一。该漏洞的成因是用户开启动态方法调用(Dynamic Method Invocation)的情况下,攻击者能够使用method原创 2016-05-30 15:31:09 · 2587 阅读 · 0 评论 -
Python logging模块使用配置文件记录日志
良好的日志是应用程序调试、质量跟踪的重要线索,因此在应用开发过程中应当养成良好的日志记录习惯。在Python中内建了logging模块,可以使用该模块生成高质量的应用程序日志。基本用法默认情况下,logging将日志打印到屏幕,日志级别为WARNING;日志级别大小关系为:CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTSET,当然也可以自己定义日志级别原创 2016-06-01 09:35:51 · 20798 阅读 · 4 评论 -
边做边学Python Flask Web开发(1)-- 安装Python
为了照顾从未接触过Python的小伙伴,先从怎样安装Python开发环境开始吧。Python官方网站提供了Windows的二进制安装包,因此在Windows平台安装Python开发环境非常简单。第一步当然去www.python.org下载你需要的安装程序。选择Python的版本非常重要,当前Python活跃的版本有两原创 2016-05-31 14:15:17 · 2344 阅读 · 0 评论 -
边做边学Python Flask Web开发(2)-- 使用VirtualEnv虚拟环境
使用VirtualEnv虚拟环境概述说VirtualEnv是Python的一大神器不足为过,如果你在生活中也有那么一点点的“洁癖”,相信你会喜欢上这个东西。我们知道使用Python的过程中会安装各种库、包,甚至有时候还需要Python2和Python3两种环境混合使用,慢慢的你的Python运行环境会越来越臃肿,这倒还是其次,最可怕的是,有些应用会使用到某个Python包的特定版本...原创 2016-06-02 13:38:53 · 4475 阅读 · 0 评论 -
边做边学Python Flask Web开发(5)-- 使用Jinjia2模板(中)
上一篇介绍了Jinjia2模板系统的基本用法,本篇将深入对Jinjia2进行探讨,对网页设计中经常会用到的一些高级特性进行介绍。模板复用复用是网页设计非常常用的特性,比如我们的页面头部的网站名称和页尾的版权标识通常都是一样的,我们的菜单有时候在每个页面也都是一样的。作为一名程序员,重复做同样的事情是完全不可接受的。在Jinjia2中,通常可以使用继承、包含和宏三种特性来完成模板的利用。原创 2016-07-06 15:41:16 · 6716 阅读 · 4 评论 -
边做边学Python Flask Web开发(4)-- 使用Jinjia2模板(上)
概述Flask中我们通常使用Jinjia2模板语言来实现复杂的页面渲染,Jinja2 是一个现代的,设计者友好的,仿照 Django 模板的 Python 模板语言。 它速度快,被广泛使用,并且提供了可选的沙箱模板执行环境保证安全,它的特性有:沙箱中执行,强大的 HTML 自动转义系统保护系统免受 XSS,模板继承,及时编译最优的 python 代码,可选提前编译模板的时间,易于调试。原创 2016-06-22 15:07:07 · 7912 阅读 · 4 评论