今天在网上逛时发现一个python的micro web框架 Deny,文件很小并且只有一个deny.py,而且还给出了个例子:
from deny import *
@route('/')
def hello():
return 'Hello World!'
if __name__ == '__main__':
run()
代码看着很熟悉,类似于另外一个micro web框架flask。看了下它的代码,里面没有任何特殊的地方,只有一大堆类似于Base64的字符。通过firebug查看,发现server竟然是werkzeuge,但代码里面并没有引入werkzeuge模块呀!心想这写base64加密的一定是一些二进制编码。再次阅读代码,发现它会在C:\Users\Administrator\AppData\Local\Temp目录下生成一个以“denied_uframework”开头的文件夹,同时会解码那些base64字符,最后生成一个zip文件夹,然后再解压,解压的文件会包含jinja2、werkzeuge、simplejson等模块,再把这些模块加入到sys.path中。思想真的很不错,赞一个!
作者还挺爱“干净”的,程序停止后会自动清除这些temp文件,这个得益于python的atexit模块,只需要register一个方法,程序退出时就会自动调用!
这样,一个py文件就可以打遍天下;虽一人独闯天涯,其实是身后有千军万马,真是善假于物也~~
浙公网安备 33010602011771号