概述
假设我想让用户有机会通过网络服务创建简单的算法,并通过小型列表测试这些算法,例如:范围(0,5)然后通过另一个网络服务,模板或电子邮件报告结果,这并不重要,这是困扰我的评估.
使用python:
class Algorithm(whatever): function = whatever.CharField(max_length=75)
'f(x)=x+(x/5)**0.75'
当然我可以使用eval,剥离任何内置函数,“x”以外的字符串等,但这仍然可能是不幸的做法.
我唯一能想到的就是将任何评估功能移到JavaScript前端.
更好的方法是评估客户端的有效负载……但这是跨站点脚本(XSS).阻止攻击者利用此问题的一种方法是在客户端使用事件处理程序,在按下按钮时评估表单.如果攻击者可以构建执行JavaScript的GET或POST请求,那么他可以利用XSS漏洞.还要确保设置x-frame-options:拒绝以防止clickjacking.
总结
以上是编程之家为你收集整理的python – 评估“不信任”用户的算法全部内容,希望文章能够帮你解决python – 评估“不信任”用户的算法所遇到的程序开发问题。
如果您也喜欢它,动动您的小指点个赞吧