自定义构造 python 白名单 __builtins__
发布于: 2020 年 05 月 29 日
有时候使用python eval,为了安全考虑一般会构造白名单__builtins__,去除掉一些不安全的方法,具体实现如下。
def __safe_builtins(self): safe_names = ''' object bool int float complex str bytes bytearray tuple list set frozenset dict slice range abs round pow divmod iter next len sum min max all any map filter zip enumerate sorted reversed bin hex oct ascii repr chr ord format dir locals globals id hash isinstance issubclass callable print input exit quit '''.strip() safe_name_set = frozenset(safe_names.split()) safe_builtins = {name: builtins.__dict__[name] for name in safe_name_set} return safe_builtins
划线
评论
复制
发布于: 2020 年 05 月 29 日阅读数: 51
么么哒
关注
还未添加个人签名 2018.03.15 加入
还未添加个人简介
评论