我担心我的Web应用程序的安全性,我使用Django,有时我使用AJAX调用将执行代码的Django url,然后根据结果返回一条带有消息的HttpResponse,用户从不会注意到这一点因为它是在后台发生的。
[但是,如果我使用AJAX调用的网址是“ runcode /”,则用户以某种方式跟踪该网址,并尝试使用该网址向我的域发送请求(例如“ www.example.com之类的/ runcode /“),它实际上将运行代码,我觉得这是一个安全漏洞。
我应该使用Django url来通过AJAX运行代码吗?如果可以的话,如何避免用户注意到URL存在?
编辑:为澄清我的问题,我担心的是,任何人都可以将自定义POST请求发送到我的服务器,并执行我不希望他们做的事情,阅读了很多有关CSRF令牌的信息,我能够理解为了防止服务器接受来自第三方的自定义POST请求,包括使用AJAX(https://docs.djangoproject.com/en/2.2/ref/csrf/),并且正如每个人都指出的那样,如果我真的需要阻止某人对请求执行代码,则应该向该请求添加身份验证。
如其他评论所述,Web应用程序的目的是基于用户交互执行代码。有时,代码只是导致显示另一个html模板,而在其他情况下,它将导致执行其他代码。
如果您担心未经授权的用户可以访问敏感数据,则django内置了可帮助进行身份验证/授权的工具。
建议您阅读:
不仅是django,而且这种行为在所有其他情况中都很普遍,
您只能应用2个解决方案,
谢谢