2014-02-05 85 views
-1

我为我的Web应用程序创建了一个API,并且我有一些关于如何传递API密钥和密码等数据而不被第三方拦截的问题。现在他们正在使用GET方法传递,但就我的理解而言,GET方法不是很安全。 POST会成为传递数据的更好方式,还是有另一种方法可以使用?POST值有多安全?

+0

[我应该什么时候使用GET或POST方法?他们之间有什么区别?](http://stackoverflow.com/questions/504947/when-should-i-use-get-or-post-method-whats-the-difference-between-them) – Numbers

回答

2

POST与GET一样不安全。如果通过不安全的渠道发送,两者都可能被嗅探。因此,真正重要的是您要通过HTTPS发送加密的数据。

0

GET和POST并没有太大关系来保护你的应用程序,如果攻击者有权访问流,他可以看到变量。

您应该通过HTTPS发送数据,HTTPS以两种方式加密数据(如果正确实施)意味着只有客户端和服务器才能看到正在传输的数据。

-1
POST is more secure than GET for a couple of reasons 
1.Parameters are not saved in browser history 
2 Can not be bookmarked. 
3.The browser usually alerts the user that data will need to be re-submitted. 
4.multipart/form-data or application/x-www-form-urlencoded Use multipart encoding for binary data. 
5.Can send parameters, including uploading files, to the server 
**6.More difficult to hack** 
7.No restrictions. Binary data is also allowed. 
8.POST method variables are not displayed in the URL. 
9.Not cached 
10.8 Mb max size for the POST method 

所以邮政值是安全的

2

真的是没有太大的区别,二者都在清晰发送。 W3Schools提供了关于每种方法的思想使用的很好的解释。您可以在链接中看到POST请求并未真正隐藏:虽然这些变量在URL中不可见,但它们仍然是HTTP消息的一部分。 但是,在我链接的比较表中,GET被列为比POST更安全。这可能是微不足道的,但建议不要通过GET发送密码等内容,因为即使在浏览器历史记录或Web服务器日志中,它们也会显示为清晰。

总而言之,根据链接提供的建议使用POST和GET。然而,为了安全通信,依赖于加密,例如通过使用TLS。