【发布时间】:2013-05-01 18:34:29
【问题描述】:
我的应用有注册表,它通过HTTP headers向服务器发送数据
旨在寻找最简单的方法来保护我的 API 以防止垃圾邮件发送者的注册 URL 注入
例如,如果你去http://website.com/register.php?name=bla&email=bla@bla.bla
脚本将自动添加新用户,因为没有密钥或安全令牌来防止 URL 注入
知道如何在 android 中制作安全令牌吗?
【问题讨论】:
我的应用有注册表,它通过HTTP headers向服务器发送数据
旨在寻找最简单的方法来保护我的 API 以防止垃圾邮件发送者的注册 URL 注入
例如,如果你去http://website.com/register.php?name=bla&email=bla@bla.bla
脚本将自动添加新用户,因为没有密钥或安全令牌来防止 URL 注入
知道如何在 android 中制作安全令牌吗?
【问题讨论】:
您无能为力,如果有人反编译您的代码,他会找出您创建令牌的方式并使用该过程创建假令牌。不过,这将增加一层保护,因为并不是每个人都熟悉应用程序的反编译和逆向工程
您无法 100% 保护您的应用免受虚假注册的影响,因为用户没有任何您可以检查的凭据。虚假注册并没有那么糟糕,因为它们不会对您造成太大的伤害。
您可以限制虚假注册造成的损害
我的建议是使用 https(http 是纯文本)来保护应用程序 - 服务器通信,因此第三方无法获取用户数据。这将加密 url 以及标题和内容,因此没有人会知道您的应用正在发送什么以及发送到哪个 url。只有反编译应用程序才能打败它。
【讨论】:
我会使用哈希并将其包含在 url 中。
例如,
http://example.com/register.php?name=bla&email=bla@bla.bla&hash=XXXX
XXXX 是种子、姓名和电子邮件的函数。
How to SHA1 hash a string in Android?
有关于如何进行 SHA-1 哈希的信息。
【讨论】: