【发布时间】:2011-01-01 04:05:38
【问题描述】:
我想让我的用户对某些功能使用正则表达式。我很好奇将用户输入传递给 re.compile() 的含义。我假设用户没有办法给我一个可以让他们执行任意代码的字符串。我想到的危险是:
- 用户可以传递引发异常的输入。
- 用户可能会传递导致正则表达式引擎花费很长时间或使用大量内存的输入。
1. 的解决方案很简单:捕获异常。我不确定 2 是否有一个好的解决方案。也许只是限制正则表达式的长度就可以了。
我还有什么需要担心的吗?
【问题讨论】:
标签: python regex user-input sanitize