python沙箱逃逸

让用户提交 Python 代码并在服务器上执行,是一些 OJ、量化网站重要的服务,很多 CTF 也有类似的题。为了不让恶意用户执行任意的 Python 代码,就需要确保 Python 运行在沙箱中。沙箱经常会禁用一些敏感的函数,例如 os,研究怎么逃逸、防护这类沙箱还是蛮有意思的。

阅读更多
python操作redis

redis是一个key-value存储系统,它支持存储的value类型包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和hash(哈希类型)。
这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。
为了保证效率,数据都是缓存在内存中,redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步

阅读更多
flask错误处理和重定向

我们在写视图函数时,会对前端传递过来的参数进行校验,如果校验不过,会给前端返回一些特定的异常信息。

阅读更多
flask表单

WTForms表单的两个主要功能是验证用户提交数据的合法性以及渲染模板。
还包含了一些其他功能:CSRF保护、文件上传等。

阅读更多
flask cookie和session

Flask cookie和session

阅读更多
原生flask实现文件上传

关于原生Flask实现文件上传

阅读更多
flask数据库

flask-SQLAlchemy 是一个为flask应用增加SQLAlchemy支持的扩展。

在python扩展库中其实包含了SQLAlchemy。在版本的不断叠加后,已经被整合到flask架构中,flask-SQLAlchemy简化在Flask中SQLAlchemy的使用,提供了有用的默认值和额外的助手来更简单地完成常见任务。

阅读更多
python 使用SQLAlchemy操纵数据库

SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库操作,简言之便是:将对象转换成SQL,然后使用数据API执行SQL并获取执行结果。

阅读更多
PDO下的Sql注入

PHP数据对象(PDO)扩展为PHP访问数据库定义了一个轻量级的一致接口。PDO提供了一个数据访问抽象层,这意味着,不管使用哪种数据库,都可以使用相同的函数(方法)来查询和获取数据。PDO随PHP 5.1发行,在PHP 5.0的PECL扩展中也可以使用,无法运行于之前的PHP版本。

阅读更多
使用QFileSystemModel模型和QTreeView来展示目录树

QFileSystemModel是一个用于访问本机文件系统的数据模型(还有一个是QDirModel,两者主要区别是使用主线程还是独立线程,建议使用独立线程的QFileSystemModel)。

阅读更多