我的理解是,$_GET和$_POST的区别在于,使用$_GET,您可以在地址栏中看到表单发送的内容。
现在我正在制作一个iPhone应用程序,它正在被发送一个包含$_GET详细信息的url。用户无法看到或猜出正在使用的变量。我不应该用GET还有别的原因吗?
我通过URL发送敏感数据,所以我问如果用户看不到$_GET,使用该URL是否足够安全。
此外,这些数据也是从IOS应用程序生成的,所以我的服务器上没有包含这些数据的网站。
预先多谢:-)
发布于 2013-01-12 09:05:25
这里的每个人都是正确的,如果没有通过安全(即SSL)连接发送数据,中介体可以监听这两个请求。
但是,您需要记住的一件事是,web服务器是如何处理这两者的。POST请求发送的数据通常不会由服务器记录,而GET请求则会记录。这是因为GET数据实际上只是URL的一部分。我们只是把它看作单独的数据,因为PHP可以帮助我们将其排序为一个超全局数组。尽管没有查询字符串,但对http://www.google.com这样的裸URL的请求仍然是GET请求(除非您在客户端具体调用了不同的协议)。
与其他GET请求一样,带有查询字符串的请求仍将输入到服务器的访问日志中。如果您要通过查询字符串传递敏感信息,则需要有一个策略来安全地处理这些日志和其他可能记录此类数据的位置。
发布于 2013-01-12 08:44:51
GET和POST是HTTP的请求方法,甚至还有更多类似于PUT和DELETE的东西没有被PHP使用。虽然最佳做法是将GET用于任何数据/信息检索(例如搜索操作),并使用POST将一些数据发送到存储(例如用户输入),但没有安全方面的论据可坚持POST或GET。
如果要发送敏感数据,则应考虑SSL而不是请求方法。
发布于 2013-01-12 08:42:24
https://stackoverflow.com/questions/14291702
复制相似问题