Post和Get方法

FORM表单

<form action="" method="get/post" >  
	<!-- Get是Form的默认方法 -->
</form>

POST和GET方法作为表单http协议的提交方式,都传递到action所指向的URL

GET

https://example.com/search?q=keyword&name=nagisb

  • 所传数据也是作为URL的部分
  • GET将表单中的数据按照variable=value的形式,附加到URL后面并用"?"连接

POST

https://example.com/search

  • 所传数据包含在请求体(requestbody)中
  • POST将表单中的数据按照variable=value的形式,直接传递给URL

理解优化

  • variable作为<name=>, value作为用户输入
  • POST安全性强加密协议的请求体。适合(上传用户数据,文件上传,数据库处理)
  • GET安全性弱。网络中的用户可通过查看URL来获得GET请求的数据(WIFI密码,文件下载,用户搜索,用户收藏)

表单验证

数据安全验证

  • 目的:将预定义字符格式化为HTML实体
  • 实例:防HTML注入攻击(XSS,跨站脚本攻击)
<?php
$name= $email= $gender = $comment= $website = "";

## 作为检测表单是否被提交
if($_SERVER['REQUEST_METHOD'] == 'POST') { 
	$name=test_input($_POST['name']);
	$email=test_input($_POST['email']);
	$gender=test_input($_POST['gender']);
	$comment=test_input($_POST['comment']);
	$website=test_input($_POST['website']);
}

function test_input($data) {
    // 去除输入数据两端的空格
    $data = trim($data);
    // 转义反斜杠
    $data = stripcslashes($data);
    // 转义HTML特殊字符
    $data = htmlspecialchars($data);
    return $data;
}
?>
posted @ 2024-11-22 23:07  NAGISB  阅读(2)  评论(0编辑  收藏  举报