在做题目的时候,经常见到POST和GET请求
他是http协议的常见请求方式:那该如何区分呢?
字面上理解
GET是从服务器上面获取数据,POST是向服务器传送数据
具体是有以下区别:
1 2 3 4 5
| :GET请求方式是把参数放在url里边的,Post请求的参数,是在请求体里的 :GET请求是可以被浏览器缓存的,而post缓存不能被缓存 :GET请求的参数是在url里边,因此url会受限制,而post长度并没有限制。 :GET请求的参数放到url里边,安全性比较差,而post请求参数是在body当中,安全相对来说较好一点。 :GET请求可以直接通过浏览器访问,支持刷新和后退,而post请求不能直接使用浏览器访问,刷新后数据要重新发送
|
举个web的题型
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| <?php highlight_file('index.php'); include("flag.php"); $id=$_POST['id']; $json=json_decode($_GET['json'],true); if ($id=="wllmNB"&&$json['x']=="wllm") {echo $flag;} ?>
|
这个里面包括get也有post,使用php当中的json_decode参数, get传入的json进行json解码
因此post传递id=wllmNB
get: json={“x”:”wllm”} post:id=wllmNB 输入之后就有flag了