zoukankan      html  css  js  c++  java
  • 防止基本的XSS攻击 滤掉HTML标签

    /**
    *    防止基本的XSS攻击 滤掉HTML标签
    *    将HTML的特殊字符转换为了HTML实体    htmlentities
    *    将#和%转换为他们对应的实体符号
    *    加上了$length参数来限制提交的数据的最大长度
    */
    function transform_HTML($string, $length = null) {
      // Helps prevent XSS attacks
    
      // Remove dead space.
      $string = trim($string);
    
      // Prevent potential Unicode codec problems.
      $string = utf8_decode($string);
    
      // HTMLize HTML-specific characters.
      $string = htmlentities($string, ENT_NOQUOTES);
      $string = str_replace("#", "#", $string);
      $string = str_replace("%", "%", $string);
      $length = intval($length);
      if ($length > 0) {
        $string = substr($string, 0, $length);
      }
      return $string;
    }
    /* 
    // eg:
    $string = " &gt;< > <a>&lt; 
     /n . \  %22%3e %3c%53%43%52%49%5 0%54%3e%44%6f%73%6f%6d%65%74%68%6 9%6e%67%6d%61%6c%69%63%69%6 f%75%73%3c%2f%53%43%52%49%50%54%3e";
    echo $string;
    echo '<br>';
    echo transform_HTML($string);
    
    */
    
    /*
    
    输出 $string:
    
    >< > < /n .   %22%3e %3c%53%43%52%49%5 0%54%3e%44%6f%73%6f%6d%65##%74%68%6 9%6e%67%6d%61%6c%69%63%69%6 f%75%73%3c%2f%53%43%52%49%50%54%3e
    
    输出 transform_HTML($string):
    
    &gt;< > <a>&lt; /n .   %22%3e %3c%53%43%52%49%5 0%54%3e%44%6f%73%6f%6d%65##%74%68%6 9%6e%67%6d%61%6c%69%63%69%6 f%75%73%3c%2f%53%43%52%49%50%54%3e
    
    */
  • 相关阅读:
    jdk安装
    ubuntu 搜狗输入法成功安装
    matlab load
    matlab save 命令
    数字信号处理的思考
    非最大值抑制nms
    HMM,MEMM,CRF模型
    [bzoj2301][HAOI2011]Problem b
    [洛谷P3935]Calculating
    [bzoj4816][Sdoi2017]数字表格
  • 原文地址:https://www.cnblogs.com/yhdsir/p/4648480.html
Copyright © 2011-2022 走看看