我有一个名为“File_upload”的控制器,它通过文件上传器表单中的ajax调用。作为安全加固的一部分,我想确保不能通过浏览器或任何其他“hack”调用File_upload控制器,并且只能通过表单调用它。
有没有人对如何做到这一点有任何建议>它会通过某种令牌来完成吗?如果有人有任何想法或代码片段可能会让我朝着正确的方向前进,我将不胜感激。
我假设文件上传表单必须将某种信息传递给控制器,并且控制器会在继续之前检查其存在。该应用程序下周将在File Uploader上进行一些严格的安全测试,因此我想先确保上传者不会被恶意黑客覆盖。
感谢您的期待
答案 0 :(得分:1)
“无法通过浏览器或任何其他”黑客“调用,并且只能通过表单调用。”
这实际上没有多大意义 - 你无法控制调用它的位置,只能将哪些信息传递给服务器的功能。
您可以控制一些事情,例如它是否是ajax请求:
http://ellislab.com/codeigniter/user-guide/libraries/input.html $ this-> input-> is_ajax_request()
所以是的,您可以设置某种令牌系统来检查请求是否具有所需信息。通常,只需检查发出请求的用户是否已登录就足够了;让您的登录身份验证系统处理安全性
如果您不清楚我在第一行中的意思是不控制它的来源,请将其读作:
http://codebyjeff.com/blog/2012/12/web-form-security-avoiding-common-mistakes