称量()和ast.literal_eval()中的Python Security 在使用用户输入时,必须优先确保安全性。强大的python功能eval()通常是作为潜在解决方案而出现的,但担心其潜在风险。本文深入研究了eval()和ast.literal_eval()之间的差异,突出显示其安全性含义。
eval(),无论其输入,无论其输入是否在后续类型的检查中,都可以评估输入。这意味着在您有机会减轻它之前,可以执行恶意输入。以下代码片段演示了此漏洞: datamap = eval(input('在此处提供一些数据:'))尝试: datamap = ast.literal_eval(输入('在此处提供一些数据:')) 除了Valueerror: 返回#处理无效的输入
最佳实践出于安全原因,强烈建议在可能的情况下使用AST.LITERAL_EVAL(),尤其是在处理未经关怀或不确定的输入时。由于其潜力剥削,因此应避免eval()。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3