【发布时间】:2013-08-21 12:55:09
【问题描述】:
我有一个预定义的路径,它与用户输入连接以删除特定目录。当前的代码看起来像这样,并且给定这样的用户输入会造成非常严重的伤害:
import os
import shutil
userinput = '../../'
path = os.path.join('/my/self/defined/path', userinput)
shutil.rmtree(path)
这显然允许用户删除任何文件或目录。什么是“监禁”用户的好方法,所以只能输入/my/self/defined/path 下面的任何路径,注意../ 或以/ 开头的字符串以及我可能不认为的所有其他恶意输入的?
【问题讨论】:
标签: python security path escaping shutil