【问题标题】:passcode for PHP script between PHP and iPadPHP 和 iPad 之间 PHP 脚本的密码
【发布时间】:2011-07-10 23:24:15
【问题描述】:

我正在编写一个响应来自 iPad 的 GET 请求的 PHP 脚本,然后进行适当的数据库查询,返回一个 JSON。例如:

http://mydomain.com/index.php?param1=xxx&key=afdS31PsR

这是(key = xxxxxxxxx)阻止人们访问我的数据库信息的安全方法吗?我觉得它会被硬编码到脚本中 - 所以它永远不会改变。

更好的方法是对键值进行散列,并与关键字的数据库中的散列进行比较。但即便如此,除非 iPad 通过 HTTPS 发送密钥和请求,否则它似乎仍然不安全。关于如何做的任何想法?也许有一种使用 PHP 脚本设置公钥/私钥加密的好方法?我对密码学和身份验证非常缺乏经验,所以请耐心等待。

【问题讨论】:

  • 如果您“非常缺乏经验”,也许您不应该在此阶段部署安全关键型应用程序。仅密码学是一个非常微妙的主题,但在您的情况下,您还需要考虑谁可以访问不受信任的客户端计算机上的哪些数据,因此您需要对客户端软件有大量的了解才能做出良好的判断……采取你的时间!
  • 就主题而言,您没有提供我们需要知道的一半信息来判断您的提案是否合理。从臀部射击我会说它可能根本没有增加任何安全性。

标签: php ipad authentication encryption public-key-encryption


【解决方案1】:

对于真正精通技术的用户来说,没有任何方法可以发送真正安全的密钥(未加密)。

但是,将其作为 GET 请求发送通常不是一个好主意,而硬编码该值是一个更糟糕的主意。

您绝对应该建立一个“每个用户”散列的数据库,并将散列键与数据库中存储的散列进行比较。如果您必须使用 GET,那就这样吧,但 POST 将是进行身份验证的方式。

如果您不使用 HTTPS,那么无论您采用哪种方式,您都只能任凭谁通过无线方式窥探数据,但至少 POST 会对查看 URL 的人保密.

【讨论】:

  • 前几天我在考虑这个问题,原则上你可以通过 HTTP 实现 SSL —— 比如通过 AJAX 的 SSL 左右。不确定以前是否这样做过。
猜你喜欢
  • 2011-05-18
  • 1970-01-01
  • 2013-05-13
  • 1970-01-01
  • 2013-01-11
  • 2017-10-29
  • 2011-09-30
  • 1970-01-01
  • 2014-09-02
相关资源
最近更新 更多