我需要一种方法,让我们的应用程序将数据从手机发送到服务器和数据库,只允许某些移动设备接受数据。我搜索了 IP 过滤,但手机的 IP 地址一直在变化。而 MAC 地址过滤并不那么安全。人们推荐 SSH 隧道,但我只能找到桌面场景,而找不到移动场景
答案1
我不太确定是谁告诉你使用 SSH 隧道的。如果你要连接两台服务器,或者连接你控制的客户端和服务器,那这很实用。
目前唯一可行的方法是让客户连接到您的服务器。服务器生成一个唯一的会话标识符(例如 UUID,它必须足够大并且尽可能随机以确保安全)并将其发送到用户的手机。这通常称为 cookie。
然后,每次手机想要访问您的服务器时,它都会发送该 cookie,以将该手机标识为允许的用户。
当然,所有通信都必须加密(TLS 1.2 或更高版本)。
请注意,还有 VPN。这类似于 SSH,但会打开一个连接,其他安全连接可以通过该连接进行模式控制。这实际上取决于您的应用程序。我个人不推荐 VPN,因为它增加了另一层,很可能会失败以奇怪的方式(即,您的应用程序的其余部分不会确切知道无法连接、接收数据等的原因)。