【问题标题】:how to secure http data in android (security token )?如何保护android中的http数据(安全令牌)?
【发布时间】:2013-05-01 18:34:29
【问题描述】:

我的应用有注册表,它通过HTTP headers向服务器发送数据

旨在寻找最简单的方法来保护我的 API 以防止垃圾邮件发送者的注册 URL 注入

例如,如果你去http://website.com/register.php?name=bla&email=bla@bla.bla

脚本将自动添加新用户,因为没有密钥或安全令牌来防止 URL 注入

知道如何在 android 中制作安全令牌吗?

【问题讨论】:

    标签: android url


    【解决方案1】:

    您无能为力,如果有人反编译您的代码,他会找出您创建令牌的方式并使用该过程创建假令牌。不过,这将增加一层保护,因为并不是每个人都熟悉应用程序的反编译和逆向工程

    您无法 100% 保护您的应用免受虚假注册的影响,因为用户没有任何您可以检查的凭据。虚假注册并没有那么糟糕,因为它们不会对您造成太大的伤害。

    您可以限制虚假注册造成的损害

    • 延迟每个注册响应 z 秒
    • 每分钟不允许来自同一 ip 的注册次数超过 x 次
    • 每分钟注册次数不得超过 y

    我的建议是使用 https(http 是纯文本)来保护应用程序 - 服务器通信,因此第三方无法获取用户数据。这将加密 url 以及标题和内容,因此没有人会知道您的应用正在发送什么以及发送到哪个 url。只有反编译应用程序才能打败它。

    【讨论】:

    • 好主意,但如果我必须切换到 Https,我必须更改 API http 请求,这将需要更多时间,我想我会延迟注册,谢谢 gtsouk
    • 如果您使用的是 apache,只需要更改一些配置,无需更改服务器端代码。在 android 中,变化很小
    【解决方案2】:

    我会使用哈希并将其包含在 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 哈希的信息。

    【讨论】:

    • 如果有人破解了应用程序,他会知道注册 url 并以每分钟 1K 的速度 ping 它,这将杀死服务器上的 sql,我正在考虑这个,但它是非常糟糕的主意,正如@gtsouk 所说延迟注册是目前最好的主意,除非有人分享有用的东西谢谢你分享你的想法+1
    • 我不会说“这是一个非常糟糕的主意”。拥有安全令牌是一种很好的主要过滤技术,可确保大多数不会进入您的系统。 @gtsouk 的想法也不错,但我会将这些想法结合在一起。 :)
    猜你喜欢
    • 1970-01-01
    • 2010-09-13
    • 2018-09-12
    • 1970-01-01
    • 1970-01-01
    • 2017-03-28
    • 2019-08-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多