• 防止基本的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
    
    */
  • 相关阅读:
    deferred 对象
    JVM--------3
    JVM类加载机制————2
    JVM加载的初始化类
    补充==的使用和equals的区别
    MyBatis_SelectKey使用oracle 序列插入主键
    MySql_ procedure
    mysql function
    jsonp _____跨域请求实现
    shell(shell变量、条件表达式、流程控制)
  • 原文地址:https://www.cnblogs.com/yhdsir/p/4648480.html
Copyright © 2020-2023  润新知