检查请求是否由Ionic应用程序发出

4

现在我们有一个几乎完成的Ionic项目,带有php后端。为了使后端更加安全,防止外部干扰,我们想要将后端仅限于Ionic项目内(原生应用)访问。我尝试通过域名限制来实现,但由于原生应用没有域名,这种方式行不通。

由于对如何处理此问题毫无头绪,因此我无法展示任何代码。

提前致谢。


3
你是否考虑过在每个请求的头部发送一个唯一的令牌?JWT 通常用于身份验证,但实际上可以携带任何你想要的信息,你可以在服务器端验证它并继续处理请求。 - Ian
我不太确定这个流程会是什么样子。当然,我可以在服务器端进行验证,但我无法直接在应用程序中生成一个。 - Frank W.
1
当您加载应用程序时,您会获取令牌并将其本地保存,然后在需要更新令牌时进行更新(JWT在x时间后到期)。 - Ian
1个回答

4
我们希望仅从ionic项目(原生应用程序)内部访问后端。鉴于逆向工程的存在和DRM的徒劳无功,严格来说,您所要求的是不可能实现的。任何人都可以获取您的应用程序,使用免费提供的工具分析其代码/行为,并编写自己的应用程序以与您的服务器通信。
为了使后端更加安全,考虑到上述情况不可能发生,您的威胁模型是什么?您试图防范哪些攻击?您应该假设客户端是恶意的,并在服务器端验证所有输入。如果这样做,那么您就不需要担心某个人是否使用您的本机应用程序与服务器通信。
请参考本文中的工作流程,PHP构建安全Web应用程序

谢谢你的回答,好的,我明白你的意思了。我想要避免的是人们可以分析应用程序的代码->找到后端的路径->在浏览器中运行页面而不使用应用程序。我们已经非常小心地处理了像SQL注入等安全问题。但如果我能够防止用户在不使用应用程序的情况下执行后端页面,那就太好了。 - Frank W.
抱歉,这是完全不可能的,但如果我能不使用应用程序阻止用户在后端执行页面,那就太好了。 - Scott Arciszewski

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接