PHP的FORM表单提交

本文介绍了一种确保FORM表单安全提交的方法,包括设置时区、使用多种PHP函数过滤用户输入(如htmlspecialchars(), trim(), stripslashes()等),并提供了一个完整的PHP示例代码,展示了如何根据不同提交方式(GET/POST)进行安全处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

FORM表单提交

1. 需要设置时区,避免日期类API警告

2. web安全措施

2.1 htmlspecialchars(): 可以把特殊字符转换为实体,避免浏览器解析为标签
2.2 trim(): 去除用户输入数据中不必要的字符(多余的空格、制表符、换行)
2.3 stripslashes(): 删除用户输入数据中的反斜杠(\)
2.4 empty(): 判断变量是否为空值
2.5 isset(): 判断变量是否存在
2.6 preg_match(): 正则匹配一次,preg_match_all()匹配多次

3. 判断提交方法

代码演示:

date_default_timezone_set('PRC');

function web_form_safe($data) {
      $data = trim($data);
      $data = stripslashes($data);
      $data = htmlspecialchars($data);
      return $data;
      }
      function get_method() {
      $method = strtolower($_SERVER["REQUEST_METHOD"]);
      $arr = $err_arr = array();
      echo "提交方法:{$method}<br>";
      if ($method === "get") {
        $arr = $_GET;
      } elseif ($method === "post") {
        $arr = $_POST;
      } else {
        $arr = $_REQUEST;
      }
      foreach($arr as $key => $val) {
        $arr[$key] = web_form_safe($val);
        if (empty($val)) {
          $err_arr[count($err_arr)] = "{$key}的值不能为空";
        }
      }
      return array(
        "suc_arr" =>  $arr,
        "err_arr" => $err_arr
      );
    }

    function demo() {
      $array = get_method();
      print_r($array);
    }
    demo();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值