我和我的朋友开发了一个网站。对于前端,我们使用AngularJS,对于后端,我们使用Laravel。
每当需要获取数据时,都会从前端到PHP进行API调用。
我担心的是,此API调用在网络面板中清晰可见。然后一些坏人很容易滥用这个API。我怎么能避免这个?
答案 0 :(得分:3)
在大多数情况下暴露你的API并不是坏事,但你需要考虑这个:
1.您应该设计API,因此只能进行合法操作。例如:person不能使用API删除整个数据库
2.如果需要,您可以提供一些身份验证机制,因此尝试调用API的人必须登录(身份验证令牌应存储在会话中,并在每次API调用时在服务器端验证)。
答案 1 :(得分:2)
如果你想隐藏POST / GET Params表单控制台。尝试以角度调用JSONP
。 JSONP调用不是真正的ajax请求,也不会在Firebug中显示。您还可以在收到响应后使用clearconsole()
清除控制台,还可以在laravel后端验证请求的IP。
答案 2 :(得分:1)
它就像常规路由一样。例如:每个人都知道他们可以在/:username
路线上访问Facebook上的用户个人资料,但Facebook会阻止未经授权的客户查看该数据。 REST路由使用相同的概念。
就像常规页面请求一样,用户可以看到AJAX调用和传递/接收的数据。 JSONP可用于防止常规开发人员工具记录API请求,但这不是一个好的安全解决方案,您的API仍然可以被恶意用户识别。
即使您对请求有效负载和响应进行加密,也可能在加密前和解密后被恶意用户截获。
您提到在API上使用正确的身份验证,这通常足以满足大多数情况。