【问题标题】:Set default Global XSS filter- Session - CodeIgniter 3x设置默认全局 XSS 过滤器 - 会话 - CodeIgniter 3x
【发布时间】:2017-08-01 07:05:54
【问题描述】:

希望有人可以帮我按顺序解释我的一些问题:

1。当我设置 application/config/config.php:

确定 XSS 过滤器在 GET、POST 或 遇到 COOKIE 数据。

$config['global_xss_filtering'] = TRUE;

所以如果我设置默认值为 FALSE。我会得到什么好处?例如,服务器的性能或处理速度?

2。会话

function save(){    
    $data = $this->input->post('number',TRUE);
    $this->session->set_userdata('TEST',$data);
}
//Suppose Client request GET to action
function insert(){
    $num = $this->session->userdata('TEST');
    //Do I need to filter data in session?    
    $num_clean = $this->security->xss_clean($num );    
    $this->model->run_insert($num_clean);
}

我不信任用户。而且我仍然不太了解:会话活动

  • 服务器只是将 ID Session 发送给客户端。服务器是否将我为会话设置的数据发送给客户端?
  • 我正在使用的会话的最佳 xss_clean 方法是:通过 xss_clean 输入类过滤客户端数据。够了吗?并且需要再次重新过滤会话?

希望有人帮助我,因为我只使用 Codeigniter 的 XSS 过滤器。谢谢

【问题讨论】:

    标签: codeigniter-3


    【解决方案1】:

    第 1 部分:

    来自 CodeIgniter 用户指南 2.2.6 版

    XSS 过滤

    CodeIgniter 带有一个跨站点脚本黑客预防过滤器,它可以自动运行以过滤遇到的所有 POST 和 COOKIE 数据,或者您可以逐个运行它。默认情况下,它不会全局运行,因为它需要一些处理开销,而且您可能并非在所有情况下都需要它。 它不应该用于一般的运行时处理,因为 它需要相当多的处理开销。

    所以回答你的问题的第一部分:
    设置$config['global_xss_filtering'] = false; 具有性能优势。在 codeigniter 3 中,它的这个特性也被弃用了。所以我更喜欢将其设置为 false。

    第 2 部分:

    会话与 cookie 不同 与 cookie 不同,信息不存储在用户计算机上。因此,当您存储会话时,信任会话数据是安全的。

    会话数据存储在服务器中。大多数会话在用户计算机上设置一个用户密钥,如下所示:765487cf34ert8dede5a562e4f3a7e12。然后,当在另一个页面上打开会话时,它会扫描计算机以查找用户密钥。如果匹配,则访问该会话,如果不匹配,则启动新会话。

    这里有一个简单的会话指南阅读https://www.w3schools.com/php/php_sessions.asp 详细一:http://php.net/manual/en/intro.session.php

    简而言之 $num_clean = $this->security->xss_clean($num ); 这是不必要的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多