首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自“不可信”用户的评估算法

来自“不可信”用户的评估算法
EN

Stack Overflow用户
提问于 2012-12-02 22:45:27
回答 1查看 106关注 0票数 5

我只是在玩弄一个想法,我想不出一种在后台解决这个问题的方法,而不会出现令人畏惧的安全问题。

假设我想让用户有机会通过webservice创建简单的算法,并在小列表上测试这些算法,例如range(0, 5)然后通过另一个webservice、模板或电子邮件报告结果,这并不重要,困扰我的是评估。

使用python:

代码语言:javascript
复制
class Algorithm(whatever):
    function = whatever.CharField(max_length=75)

用户可以输入如下内容:

代码语言:javascript
复制
'f(x)=x+(x/5)**0.75'

当然,我可以使用eval,去掉"x“以外的任何内置字符串,但这可能仍然是一种不幸的做法。

我唯一能想到的就是将任何评估功能移到JavaScript前端。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-03 16:54:59

eval()是邪恶的,在后端这样做是非常危险的。但是,可以使用python沙箱安全地完成这一任务。但是如果沙箱在哪里失败,你就会被拥有。这并不是一种非常“深度防御”的方法。

一个更好的方法是评估客户端的有效载荷.然而,这是跨站点脚本(XSS)。防止攻击者利用此问题的一种方法是在客户端设置一个事件处理程序,在按下按钮时对表单进行评估。如果攻击者能够构建一个执行JavaScript的GET或POST请求,那么他就可以利用XSS漏洞。还要确保设置x-frame-options: deny以防止敲击

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13674761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档