代码之家  ›  专栏  ›  技术社区  ›  Daniel Blezek

在iPhone应用程序中隐藏/模糊服务器连接是否值得?如果是,怎么办?

  •  0
  • Daniel Blezek  · 技术社区  · 16 年前

    如果我有一个连接到Amazon的S3服务的应用程序,是否值得我花时间隐藏/混淆连接字符串和API键?我猜大多数黑客不会太在意这些,但是如果有人发现了这些信息并且能够将数据上传到我的帐户上,那将是一个经济上的痛苦!

    例如,如果我存储用户名/密码(或Twitter/Facebook API密钥和密码),那么使用“字符串”就可以很容易地找到它们。黑客可以看到这些功能,获取秘密并将其用于邪恶的目的。我看到有人建议使用一个简单的Rot13,或者将字符串向后存储或类似的东西放在应用程序二进制文件中。这些有用吗?

    有没有人这样做过,或者有什么想法/模式/代码可以分享?

    -丹

    3 回复  |  直到 16 年前
        1
  •  2
  •   Claus Broch    16 年前

    你可以将你的秘密隐藏在你完全控制的web服务器中,然后让这个服务器将查询转发给Amazon。然后您可以使用任何您喜欢的加密/验证方法,因为您不依赖于Amazon支持的方法。

    例如,在php中,可以使用类似于以下代码段的内容(不显示url重写):

    $fp = fopen($amazon_url,'r',false);
    fpassthru($fp);
    fclose($fp);
    
        2
  •  0
  •   Daniel    16 年前

    你真的不需要把它们藏起来…你应该做的是有一把额外的钥匙,比如一个秘密,一个是隐藏的,并且只存在于调用的签名中(可以是MD5散列或sha(或其他任何形式)),如果没有密钥,人们将不能仅仅进行调用,因为服务器创建的签名和罪犯将不匹配,因为他们不知道使用的密钥。。。

        3
  •  0
  •   webbiedave    16 年前

    我猜大多数黑客不会 那么在乎吗

    有人这样做过吗

    这就是SSL的用途。您可以加密所有传输,或者只加密登录过程(该过程将返回会话id,可用于会话期间的后续请求)。

    推荐文章