欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php中$_GET和$_POST函数。值不是提交到php文件么,我咋在地址栏中看不到php后缀名?

程序员文章站 2023-12-30 12:38:04
...
php

回复内容:

$_GET、$_POST函数是在php程序里从GET或POST请求中获取传值,其中GET请求可以在地址栏看到传值,而POST请求将在entity-body(消息体)传值,地址栏看不到(可以通过抓包获取,所以不要觉得POST传值就比GET传值安全)

我写了一个小程序演示GET和POST传值的异同点。在第一行输入框输入内容,点击“test get”即对服务器发出GET请求并传值,而服务器也将返回确认信息;同理,在第二行输入框输入内容,点击“test post”发出POST请求并传值,也将看到返回的确认信息。

在浏览器中看到的页面如下:
php中$_GET和$_POST函数。值不是提交到php文件么,我咋在地址栏中看不到php后缀名?HTML代码:
php中$_GET和$_POST函数。值不是提交到php文件么,我咋在地址栏中看不到php后缀名?
【服务器确认收到GET请求的传值】
在地址栏可以清楚看到value=rabbit,截图下方也有确认收到传值的信息。
php中$_GET和$_POST函数。值不是提交到php文件么,我咋在地址栏中看不到php后缀名?
再看看GET请求的HTTP数据包包文内容,需要传递的值“rabbit”就在请求URL里,作为参数传值(也就是你在地址栏看到的)。
php中$_GET和$_POST函数。值不是提交到php文件么,我咋在地址栏中看不到php后缀名?
【服务器确认收到POST请求的传值】
跟上面的GET传值不同的是POST请求传值并不体现在地址栏上(所以很多人都直觉地觉得POST传值比GET安全的原因)。
php中$_GET和$_POST函数。值不是提交到php文件么,我咋在地址栏中看不到php后缀名?再看看POST请求的报文内容。通过直接读取数据包报文内容,可以看到请求URL并不包含任何传值的内容,这也就是为什么你在地址栏看不到的原因,而在下方消息体里,很清楚可以看到Value: rabbit。
php中$_GET和$_POST函数。值不是提交到php文件么,我咋在地址栏中看不到php后缀名?
虽然两种传值的方式差异甚大,但对于php程序里读取传值的方法大同小异,即通过$_GET、$_POST函数直接读取。
【附】测试程序代码:
php中$_GET和$_POST函数。值不是提交到php文件么,我咋在地址栏中看不到php后缀名?
相关标签: php

上一篇:

下一篇: