从过去两年开始,我正在使用php.But我有一个问题,即我们使用post和get方法,我们知道发布安全而不是get方法。
但仍然是为什么我们使用get方法,当它不安全时。
我希望你们都明白我的意思。谢谢你。
答案 0 :(得分:0)
您可以使用发布大量数据或您不希望在网址中显示的数据。例如,您不希望网址删除某个页面或创建一个页面以显示在某个人的历史记录中。你也不想以这种方式保存密码。
对于搜索字符串等,您可以轻松使用get。它允许用户复制特定的URL,如特定的搜索结果,或链接到分页列表中的第5页。
所以,两者都可以用于他们自己的目的。您唯一应该记住的是网址的最大大小为8Kb,包括获取参数。
当用户能够为请求添加书签,共享请求以及一遍又一遍地返回时,请使用GET
个请求。例如,能够为Google查询的结果添加书签是有意义的。
当用户只是提取/查看资源时使用GET
请求,并且对您网站的数据或将来的请求没有任何重大的副作用。如果请求正在创建,修改或删除某些内容,则该请求应为POST
。如果用户登录的网站会对未来的请求产生影响,那么它应该是POST
,而不是GET
。
注意:用户仍然可以更改POST
变量。
用户更容易更改查询字符串(GET
)值,但用户更改POST
值并不困难。您的网站的安全性应考虑到这一点!使用POST
来保证安全性并不是一个正当理由,除了POST
变量不是URL的一部分并且没有加入书签这一事实,而GET
变量是。{{1}}变量。这可以防止用户在共享链接时意外地共享密码等内容。
GET 更适合应该能够加入书签的内容,以及简单的查询,只需很少的参数。
POST 更适合用户不应看到的敏感字段,大型二进制传输以及包含多个字段或非常长字段的传输。
答案 1 :(得分:0)
简单的答案是
当我们想要传递不会改变的数据(比如静态)时使用GET,除此之外,Get是不安全的,但它不需要任何用户输入。 对于搜索,大多使用GET,最好的例子是看你的地址栏(O.O)它使用GET。
POST方法是不断变化的数据,所以在表格中它最常用,因为数据不断变化,可能需要安全性才能将其发布到其他页面。
答案 2 :(得分:0)
您需要回答的问题是 “ POST在哪种方式上比GET更安全” 。 回答该问题后,您将没有第一个问题。
用户Roman Starkov在回答“ GET或POST是否比其他安全性更高?”的问题上做得很好。
您可以查看整个答案here,但这是要点(摘自罗曼的答案):
GET请求的安全性比POST请求低。两者都不提供真正的“安全性”。使用POST请求不会神奇地使您的网站安全地受到恶意攻击,数量可观。但是,使用GET请求会使原本安全的应用程序变得不安全。您“不得使用GET请求进行更改”的口号仍然非常有效,但这与恶意行为无关。