清理raw_input?

时间:2015-12-03 05:52:02

标签: python security sanitization raw-input

我正在使用聊天工具,我需要让用户手动输入ECDHE公钥(64个十六进制字符)。我将通过说它与硬件隔离有关来总结为什么需要它。问题是,用户可能会遵循恶意指令并向软件输入任意字符串。我担心输入可能会利用python解释器或我的代码。

为了防止后者,我通过迭代字符串并检查char是否在允许的十六进制字符列表上来验证字符输入。然后我将长度与==进行比较。之后,使用binascii.unhexlify()将密钥转换为二进制。

我是否应该采取其他措施来保护输入,或者我应该考虑什么?检测字符串最安全,最早的方法是什么格式不正确?

如果系统内存不足,我会向MemoryException添加一个优雅的退出。我认为动态内存分配不会遇到严重问题,但我仍然担心;该功能过去是否存在漏洞?

另外,我了解eval() python3 ,输入 python2 完全不安全。我将在未来的某个时间将我的 python2 代码移植到3中。我如何确保 python3 代码input()如果使用 python2 解释程序执行,则不会像eval(raw_input())那样处理?

0 个答案:

没有答案