警惕OS命令注入漏洞 - python篇

发表于 2020-08-17   |   分类于 技术

OS命令注入漏洞是一个十分严重,但是又十分容易被人忽视的一个问题。

阅读全文 »

Python中的euid和uid

发表于 2019-03-19   |   分类于 技术

今天遇到了一个非常奇怪的问题:在root用户下,python的sys path中包含了/usr/local路径下的site-packages目录,但是在非root用户下,却没有包含,导致该用户执行程序异常,报:ModuleNotFoundError

阅读全文 »

Python中的类与对象-笔记

发表于 2018-11-20   |   分类于 技术
  1. python中类也是一个对象
  2. 定义在init外的属性是类属性,定义在init内的是对象属性
  3. 修改类的属性,会影响所有该类的对象(包括已经实例化的)
  4. metaclass 是创造类,而不是实例化类的对象
  5. metaclass中操作的属性都是类的属性
  6. metaclass中通过super().__new__创建新类
  7. metaclass中通过super().__new__创建的类包含了父类的属性,可以通过getattr获取
  8. metaclass中直接修改通过getattr获取的父类属性,会更新到父类中,影响所有父类的子类
  9. metaclass中,如果父类在init外定义了某个属性,这个属性可以通过getattr获取,且被继承到子类,否则通过getattr获取的结果为None
  10. metaclass中,通过setattr设置类的属性,只作用在当前类,不会修改父类的属性

资源同步的一种思路

发表于 2018-07-24   |   分类于 技术

在两个节点之间或两个时刻之间需要同步有顺序的资源,例如防火墙策略,如何用比较小的代价来实现资源一致。

有一种思路是类似文本比较,用diff的方法来修改待同步一侧的资源。

需要使用的python的lib库:difflib

阅读全文 »

自定义的exception出现unprintable object错误

发表于 2018-03-28   |   分类于 技术

问题本身

原因:traceback.print_exc()函数打印异常信息时,会调用exception的__str__()方法,如果该方法出现异常,就会出现该问题
排查:可以在exception的__str__方法中加try except来捕获异常,打印具体的错误。

阅读全文 »

python2的编码问题整理

发表于 2017-10-31   |   分类于 技术

最近在项目中发现了一个历史遗留而又埋的很深的关于编码的坑,涉及到中文编码的转换。在分析的过程中再次回顾了一下有关编码的知识。python版本为2.7。

阅读全文 »

© 2017 Powered by Typecho
苏ICP备15035969号-3