PHP和iPad之间PHP脚本的密码

PHP和iPad之间PHP脚本的密码,php,ipad,authentication,encryption,public-key-encryption,Php,Ipad,Authentication,Encryption,Public Key Encryption,我正在编写一个PHP脚本,它响应来自iPad的GET请求,然后进行适当的数据库查询,返回JSON。例如: http://mydomain.com/index.php?param1=xxx&key=afdS31PsR 这个key=xxxxxxxxx是阻止人们访问我的数据库信息的安全方法吗?我觉得应该是这样的,只是它会硬编码到脚本中,所以它永远不会改变 更好的方法是散列键值,并将其与数据库中的关键字散列进行比较。但即便如此,除非iPad通过HTTPS发送密钥和请求,否则它似乎仍然不安全。有什么办法吗

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

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

这个key=xxxxxxxxx是阻止人们访问我的数据库信息的安全方法吗?我觉得应该是这样的,只是它会硬编码到脚本中,所以它永远不会改变

更好的方法是散列键值,并将其与数据库中的关键字散列进行比较。但即便如此,除非iPad通过HTTPS发送密钥和请求,否则它似乎仍然不安全。有什么办法吗?也许有一种很好的方法可以使用PHP脚本设置公钥/私钥加密?我对加密和身份验证非常缺乏经验,所以请容忍我

对于一个真正精通技术的用户来说,没有一种方法可以发送真正安全的未加密密钥

然而,将其作为GET请求发送通常是一个坏主意,而硬编码值则是一个更坏的主意

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

如果你不使用HTTPS,那么不管你用哪种方式在空中窥探数据,你都会受到任何人的摆布,但至少POST会对查看URL的人保密。

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

然而,将其作为GET请求发送通常是一个坏主意,而硬编码值则是一个更坏的主意

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


如果你不使用HTTPS,那么不管你用哪种方式在空中窥探数据,你都会受到任何人的摆布,但至少POST会对查看URL的人保密。

如果你非常缺乏经验,也许你不应该在这个阶段部署安全关键型应用程序。密码技术是一个非常微妙的主题,但在您的情况下,您还需要考虑谁可以访问不可信客户端机器上的哪些数据,因此您需要添加一个对客户端软件的理解来做出良好的判断调用。慢慢来!在这个话题上,你们并没有提供我们需要知道的信息的一半来判断你们的提议是否合理。我认为这可能根本没有增加任何安全性。如果你非常缺乏经验,也许你不应该在这个阶段部署安全关键型应用程序。密码技术是一个非常微妙的主题,但在您的情况下,您还需要考虑谁可以访问不可信客户端机器上的哪些数据,因此您需要添加一个对客户端软件的理解来做出良好的判断调用。慢慢来!在这个话题上,你们并没有提供我们需要知道的信息的一半来判断你们的提议是否合理。我想说的是,它可能根本没有增加任何安全性。前几天我考虑过这一点,原则上你可以在HTTP上使用SSL实现,就像在AJAX上使用SSL一样。我不确定以前是否这样做过。前几天我在考虑这个问题,原则上你可以在HTTP上使用SSL实现,就像在AJAX上使用SSL一样。不确定以前是否做过。