【发布时间】:2013-08-20 17:46:51
【问题描述】:
我正在用 codeigniter 制作一个网站。
如果用户在评论中写了{memory_usage},2.75MB 将显示给他。它不会给codeigniter编写的代码带来安全漏洞吗?有什么合理(和常见)的方法来防止此类问题?
【问题讨论】:
我正在用 codeigniter 制作一个网站。
如果用户在评论中写了{memory_usage},2.75MB 将显示给他。它不会给codeigniter编写的代码带来安全漏洞吗?有什么合理(和常见)的方法来防止此类问题?
【问题讨论】:
将此添加到您的控制器:
$this->output->parse_exec_vars = FALSE;
解析执行变量
CodeIgniter 将解析伪变量
{elapsed_time}和{memory_usage}默认在你的输出中。要禁用此功能,请设置$parse_exec_vars类属性到您的控制器中的FALSE。
更新,可能需要修改/system/core/Output.php中的一个core文件
变化:
protected $parse_exec_vars = TRUE;
收件人:
public $parse_exec_vars = TRUE;
现在您可以在控制器中将$this->output->parse_exec_vars 设置为FALSE。
【讨论】:
Fatal error: Cannot access protected property CI_Output::$parse_exec_vars
echo CI_VERSION; => 2.1.3