在做题目的时候,经常见到POST和GET请求
他是http协议的常见请求方式:那该如何区分呢?
字面上理解
Get是从服务器上面获取数据,post是向服务器传送数据
以下区别:
1:GET请求方式是把参数放在url里边的,Post请求的参数,是在请求体里的
2 :GET请求是可以被浏览器缓存的,而post缓存不能被缓存
3:GET请求的参数是在url里边,因此url会受限制,而post长度并没有限制。
4:GET请求的参数放到url里边,安全性比较差,而post请求参数是在body当中,安全相对来说较好一点。
5:GET请求可以直接通过浏览器访问,支持刷新和后退,而post请求不能直接使用浏览器访问,刷新后数据要重新发送
举个web的题型
<?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了
评论