• 防止基本的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
    
    */
  • 相关阅读:
    ~虚拟现实论文~
    Vega Prime Distributed 模块的中文总结
    怎样在程序中使用vgPicker移动物体
    黑客档案
    在VBA中连接SQL SERVER数据库
    VC中调用Matlab引擎的设置
    在VB应用程序中单击按钮打开word文档
    matlab调用ansys的方法
    实现VC与Matcom的接口步骤
    vega编程中文资料
  • 原文地址:https://www.cnblogs.com/yhdsir/p/4648480.html
Copyright © 2020-2023  润新知