首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP - Get方法是否更不安全,即使用户看不到地址栏?

问PHP - Get方法是否更不安全,即使用户看不到地址栏?
EN

Stack Overflow用户
提问于 2013-01-12 08:35:21
回答 5查看 749关注 0票数 0

可能重复: GET或POST比另一个更安全吗? POST和GET有什么区别?

我的理解是,$_GET和$_POST的区别在于,使用$_GET,您可以在地址栏中看到表单发送的内容。

现在我正在制作一个iPhone应用程序,它正在被发送一个包含$_GET详细信息的url。用户无法看到或猜出正在使用的变量。我不应该用GET还有别的原因吗?

我通过URL发送敏感数据,所以我问如果用户看不到$_GET,使用该URL是否足够安全。

此外,这些数据也是从IOS应用程序生成的,所以我的服务器上没有包含这些数据的网站。

预先多谢:-)

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-01-12 09:05:25

这里的每个人都是正确的,如果没有通过安全(即SSL)连接发送数据,中介体可以监听这两个请求。

但是,您需要记住的一件事是,web服务器是如何处理这两者的。POST请求发送的数据通常不会由服务器记录,而GET请求则会记录。这是因为GET数据实际上只是URL的一部分。我们只是把它看作单独的数据,因为PHP可以帮助我们将其排序为一个超全局数组。尽管没有查询字符串,但对http://www.google.com这样的裸URL的请求仍然是GET请求(除非您在客户端具体调用了不同的协议)。

与其他GET请求一样,带有查询字符串的请求仍将输入到服务器的访问日志中。如果您要通过查询字符串传递敏感信息,则需要有一个策略来安全地处理这些日志和其他可能记录此类数据的位置。

票数 1
EN

Stack Overflow用户

发布于 2013-01-12 08:44:51

GET和POST是HTTP的请求方法,甚至还有更多类似于PUT和DELETE的东西没有被PHP使用。虽然最佳做法是将GET用于任何数据/信息检索(例如搜索操作),并使用POST将一些数据发送到存储(例如用户输入),但没有安全方面的论据可坚持POST或GET。

如果要发送敏感数据,则应考虑SSL而不是请求方法。

票数 1
EN

Stack Overflow用户

发布于 2013-01-12 08:42:24

不不安全。您的网站仍然可以从其他有一个url栏可见的机器访问。而且,它不需要web浏览器开始操作GET或POST请求,有些程序,例如费德勒,将允许用户修改请求,而不管浏览器或数据是如何提交的。

使用POST而不是GET会使攻击者向您发送恶意数据变得非常困难,它可能会阻止普通用户对url进行实验,但它并没有阻止它。客户端数据本质上是不可信的,您必须在服务器上验证它。如果您需要传输敏感数据,则应该使用HTTPS。

来自不愿信任

与其做出需要成立的假设,你应该不愿意扩大信任。服务器应该设计为不信任客户端,反之亦然,因为客户端和服务器都会受到黑客攻击。不愿信任有助于分隔。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14291702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档