Jquery Django:使用ajax发送电子邮件-安全问题
我正在与Django合作,在完成一些需要ajax调用的任务后,我想发送一封电子邮件:Jquery Django:使用ajax发送电子邮件-安全问题,jquery,python,ajax,django,security,Jquery,Python,Ajax,Django,Security,我正在与Django合作,在完成一些需要ajax调用的任务后,我想发送一封电子邮件: $.when($.ajax({ type: "POST", url: "{% url 'check_status' %}, data: {'params':'data'}, }), ).then(function(){ $.ajax({ type: "POST", url: "{% u
$.when($.ajax({
type: "POST",
url: "{% url 'check_status' %},
data: {'params':'data'},
}),
).then(function(){
$.ajax({
type: "POST",
url: "{% url 'send_email' %}",
data: {'email': email}
});
});
我已经设置了CSRF令牌,请求已发布。但是,我担心有人会使用我的“发送电子邮件”视图发送不需要的电子邮件
我想限制视图仅用于给定的模板/上下文,而不是python请求库。有可能吗?这不是csrf令牌已经做过的吗?我不确定,这就是为什么我要问。没有其他检查(例如表单有效性)的csrf在这里对您没有帮助,因为用户可以先使用GET请求检索csrf令牌,然后使用它进行发布。您可以使用或将视图限制为登录用户。您将如何从逻辑上定义允许发送电子邮件的用户/会话(与不允许发送电子邮件的用户相比)?我同意,我只是使用python请求库编写了一个发送电子邮件的小脚本。我还可以检查请求是否是ajax,但这也可能被欺骗。门户是开放的,不需要登录——它只向其他服务器发送请求,并从其他服务器获取答案。收到答复后,应将其发送给用户(用户以表格形式提供电子邮件)。因此,理想情况下,电子邮件应该仅限于实际填写表单的用户,即发布表单数据的用户,而不仅仅是带有get的“get”标记。我正在考虑改变这里的策略。我想我可以利用会议来实现这一点。表单数据将保存在会话中,并在发送电子邮件中访问,因此不会暴露于外部。