【问题标题】:Securely transfer data between iOS -> php -> mySQL在 iOS -> php -> mySQL 之间安全地传输数据
【发布时间】:2014-09-26 01:40:03
【问题描述】:

基本上,我有一个 iOS 应用程序,它向我网站上包含其位置的 php 文件发送 POST 请求,然后 php 文件将其连接/发送到 mySQL 数据库,反之亦然。一切正常,等等,但我真正想要的是确保没有人可以制作一些伪造的脚本,向我的 php 文件发送 POST 请求,并渗透到数据库中。

我的第一个想法是拥有某种“密钥”,它也会被发送以检查它是否与 php 文件中的那个匹配。我可以让它像这样https://www.grc.com/passwords.htm。无论如何,我担心这并不像我想要的那样安全(或高效)。审查我的代码以使其进入 App Store 的人会看到它,对吗?

对不起,如果这是一个愚蠢的问题,但确保只有我可以从 mySQL 数据库(以及 PHP 文件)发送/接收数据的最佳方法是什么?

谢谢!

【问题讨论】:

  • 我认为您添加了更多参数。例如:authen="true" 等等。他们不会尝试使用您的 Api 来实现所有关键。 hashcode 不错,但我觉得没必要。

标签: php mysql ios security web


【解决方案1】:

问题的症结似乎是:“渗透数据库”。

通过从不向数据库发出用户创建的命令来避免这种情况。拦截所有用户请求,解析、验证和提取信息。如果一切顺利,您的代码会使用经过清理的参数向数据库发出请求。

SSL 将保护传输中的数据。您还需要防范创建攻击请求的攻击者。

【讨论】:

    【解决方案2】:

    • 发送至SSL

    • 在您的应用中实现SSL Pinning

    • 可选择使用盐对全部或部分数据/查询参数等进行散列,并将此散列与其余部分一起传递。在服务器哈希/盐参数/数据等并验证盐匹配。他们将不得不绕过 ssl、您的固定,然后重新构建您的应用程序,以提取您应用盐的方法以及盐本身。 example here

    • 至于 php/server 端,您需要清理任何进入 mysql 的内容。 Example

    这是一个“开始”。

    【讨论】:

    • 假设您有安全的 php(已清理)并且您的数据库在同一台服务器上运行,这不太可能成为您的入侵点,但为了完整起见,我更新了我的答案。
    【解决方案3】:

    Jajaja “抱歉,这是一个愚蠢的问题”。没有愚蠢的问题,除非你没有学习的欲望。

    我也有类似的问题,您确实希望保护您操作的数据,因为它非常重要。 您必须同时查看客户端和服务器。

    例如在客户端:

    1) 您是否正在向服务器发送数据以使其不清晰?

    2) 你使用的是 https 吗?

    或者在服务器中:

    1) 您的服务器是否能够可靠地识别数据何时到达?

    2) 您是否对您的数据使用任何算法加密?客户端加密和服务器解密,反之亦然?

    并不总是因为他们使用密钥,所以总是安全的。我希望这对你有用,并为我的英语道歉:)

    【讨论】:

    • MD5 和 SHA 不加密。
    猜你喜欢
    • 2013-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-16
    • 1970-01-01
    • 2010-10-31
    • 2016-08-19
    • 1970-01-01
    相关资源
    最近更新 更多