标题:各位老师好,我是一位留学生,现在正在自学PHP语言,关于htmlspecialchars我 ...
只看楼主
rikacho
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2021-8-17
 问题点数:0 回复次数:1 
各位老师好,我是一位留学生,现在正在自学PHP语言,关于htmlspecialchars我有一点不懂,希望有好心的老师可以教教我,谢谢!
关于htmlspecialchars的函数化,不知道为什么我照着书写的这个代码无法运行,上面的日语大家看不懂的话也不用在意,只看编码就好了,谢谢

以下是编码

<?php
// XSS対策のためのHTMLエスケープ
function es(array|string $data, string $charset='UTF-8'):mixed {
  // $dataが配列のとき
  if (is_array($data)){
    // 再帰呼び出し
    return array_map(__METHOD__, $data);
  } else {
    // HTMLエスケープを行う
    return htmlspecialchars(string:$data, flags:ENT_QUOTES, encoding:$charset);
  }
}

// 配列の文字エンコードのチェックを行う
function cken(array $data):bool{
  $result = true;
  foreach ($data as $key => $value) {
    if (is_array($value)){
      // 含まれている値が配列のとき文字列に連結する
      $value = implode("", $value);
    }
    if (!mb_check_encoding($value)){
      // 文字エンコードが一致しないとき
      $result = false;
      // foreachでの走査をブレイクする
      break;
    }
  }
  return $result;
}
// ?>
搜索更多相关主题的帖子: string data 老师 PHP value 
2021-08-17 15:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-506550-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017757 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved