我的 iOS 应用程序需要连接到 mysql 服务器。为此,我想创建一个 webapp,充当客户端应用程序和服务器端数据库之间的中间人。
我担心的是有人可以简单地找出我的应用程序使用的 URL 并传递他们自己的 URL 参数 - 因为 web 应用程序不知道是否从我的 iOS 应用程序发送了合法数据,而有人只是从任何网络浏览器,系统都会受到攻击。
假设我有一个 PHP 函数用于将用户标记为“已验证”(在我向他们发送电子邮件验证码之后)。这是非常标准的东西,但是是什么阻止了某人从网络浏览器发出相同的请求?
当然,应用程序用来进行数据库查询的用户将拥有有限的权限,因此数据库的其余部分不会有风险。但是,即使让用户从应用程序外部激活他们的帐户也将是灾难性的。
我想到的选项是使用 https,这样即使用户找出了 URL,他们也不知道密码,也无法嗅探它,因为它从头到尾都是加密的。不幸的是,https对于一个贫穷的大学生来说可能很昂贵,所以如果存在的话,我想要一个替代方案。