繁体   English   中英

用于传达Ionic App和Laravel RESTful API的秘密令牌

[英]Secret token for communicating Ionic App and Laravel RESTful API

我正在开发一个Ionic应用程序,该应用程序使用Laravel 5 RESTful API中的数据。 除用户创建外,所有连接均受用户名/密码和用户角色保护(GET,POST等)。

我对安全性的第一个疑问是禁止来自App外部的连接,避免成千上万的用户创建,从而使我们的服务器资源超载。

我的想法是,当用户安装应用程序并首次打开它时,将创建一个秘密令牌,该令牌将在每个连接中发送。 然后检查设备的UUID和秘密令牌,以确保这是一个授权的应用程序。

您如何看待这种保护连接的方式? 有更好的主意吗?

您需要查看一个JWT(Jot)JSON Web令牌,它们将解决安全性问题。 其中可以包含用户ID和其他数据,例如访问级别。 不是安全信息或卡信息之类的东西。

当用户通过身份验证时,Laravel将他们发送回JWT,并将其存储在本地或会话存储中,这将替换后端会话。

它是由后端使用可以由前端解密的部分并使用密钥来加密签名生成的,如果其中任何一个被篡改都会失败并拒绝访问。

每个请求角度将使用请求拦截器将令牌附加到标头,而Laravel中间件将对其解密并允许访问其所需的路由,或者返回错误代码“ 404”。

如果在安装此身份验证层之后,您可以在后端限制用户级别的使用。

但这可以解决您的大多数问题,虽然思路有所改变,但确实有效,并且可以解决您通过ajax调用遇到的许多会话问题,并且由于所有服务器都在寻找一个可以管理。

我也遇到了同样的问题。 但是在谷歌搜索一段时间后,我得出的结论是,您可以为黑客设置几道墙,但是对于那些深陷于对应用程序进行黑客攻击的人(忍者黑客),将会找到以恶意方式使用您的应用程序的方法。 我还遇到了各种方法来保护您的后端服务器(谷歌之后)。 这些步骤通常使恶意使用您的应用变得困难。

  1. 您可以使用某种算法对字符串url进行加密,并在程序中使用加密的字符串,即。 https:\\ google.com \\加密为类似\\ h09ae \\ hff00 \\ hebab \\ h ....的内容,然后在程序字符串url =“ \\ h09ae \\ hff00 \\ hebab \\ h ..”中。这样,反编译应用程序的人可以'找不到您的服务器后端网址。 在这种情况下,您需要先解密字符串url,然后才能使用它。

  2. 使用HTTPS和请求正文发送敏感数据

  3. 您可以使用Google令牌来验证请求是否来自设备。 为此,您将必须使用Google API控制台。 请参阅此链接以获取有关此主题的正确的android教程。

  4. 最后,创建apk时使用的签名密钥是唯一的,并确保您的apk不被篡改。 因此,在将签名密钥的哈希密钥上传到Google Play之前,先生成其哈希密钥,然后将其保存在您的服务器中,然后以编程方式获取签名密钥的哈希值,并将其随请求发送给您的后端。

希望对您有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM