使用php发送变量的最安全方式

时间:2015-12-17 21:12:13

标签: php android mysql security variables

我是PHP代码的新手,我想知道我是否正确编码。我需要从我的Android应用程序发送数据到我的服务器。我现在用php做它。 (这是正确的方法吗?如果没有,我应该使用什么?)

因此,如果我将它们传递给我的服务器,就像这样:

www.myserverexample.com/myPhpScript.php?variable1=text1&variable2=text2
似乎这不是正确的方法。如果我需要向服务器发送20个变量怎么办呢,这仍然是好的,似乎这不是真正的安全。

(所有关于正确变量的验证都在php脚本中完成,然后发送到我的数据库)

4 个答案:

答案 0 :(得分:4)

  1. 使用HTTPS。现在至少有3个组织可以从中获得免费证书。使用HTTPS时,GET和POST变量都受到保护。

  2. 您打算使用共享托管还是专用托管?您将以何种方式保护您的Web服务器日志?这些变量中的值有多敏感或个人化?在我们确定GET是否安全之前,我们需要知道这一点,因为记录了整个URL。

  3. 值是否会更改服务器上的任何内容?喜欢更新数据库或文件?如果是这样的话,你应该使用POST。

  4. 如果您控制自己的Web服务器日志(即非共享主机)并且值不是特别敏感,则GET很好。否则使用POST。

答案 1 :(得分:-1)

您正在使用GET方法。 这有效但不安全,而不是您应该如何发送任何敏感数据 如果您需要安全地将数据发送到服务器 你需要使用SSL上的POST方法

答案 2 :(得分:-1)

在这种情况下,我建议您使用POST请求将数据发送到php脚本。使用POST,您可以在HTTP内容体中发送多少数据没有限制(我认为GET请求中查询字符串的最大长度是2KB),并且您的变量更加隐藏,因为它们没有暴露在查询字符串中。

如果您切换到使用POST,则需要在php脚本中将所有$_GET变量更改为$_POST,并以某种方式将content-type请求标头设置为{{1在你的应用程序中。
请注意,如果您想防止MITM攻击并提高整体安全性,请使用SSL。

答案 3 :(得分:-2)

在客户端(android-app)和服务器(php web应用程序)之间发送数据可以通过多种方式完成。

最常见的方式是https协议,但在我们深入研究之前,您应该熟悉 HTTP 方法!

您现在使用的是 GET 通过网址发送数据的方法,并且每个人都可以看到它显然是安全!

您最常使用 POST 方法解决此问题!

然后考虑使用 HTTPS 认证,因为它会加密您的数据,因此无法被盗