【问题标题】:Codeigniter - HTMLPurifier ConfigurationCodeigniter - HTMLPurifier 配置
【发布时间】:2013-10-01 05:01:40
【问题描述】:

我正在使用 Codeigniter 框架来开发网站。我们有 tinyMCE 插件来输入某些地方需要的 HTML 文本。一切正常,但我们正试图阻止 HTML 文本输入中的 XSS。我们应该清理帖子数据,它只能接受 html,不能接受 javascript。现在我们正在使用以下方式在不进行清理的情况下获取帖子数据。

Utils::array_value('company_website', $data)

后来我知道了HTMLPurifier。我无法在 Codeigniter 中配置它。我正在 Builder 函数中尝试此代码:

require_once '../../libraries/htmlpurifier/library/HTMLPurifier.auto.php';
$config = HTMLPurifier_Config::createDefault();
$purifier = new HTMLPurifier($config);

它在错误日志中抛出一个错误:

PHP 致命错误:require_once(): 无法打开所需的 '../../libraries/htmlpurifier/library/HTMLPurifier.auto.php' (include_path='.:/usr/share/php:/usr/share /pear') 在 /var/www/internshala/application/My_App/Helpers/My_Builder.php 第 52 行,引用者:http://local.mylocal.com/my_controller/my_method

【问题讨论】:

  • 你把require_once '../../libraries/htmlpurifier/library/HTMLPurifier.auto.php';我的意思是路径放在哪里?
  • My_Builder.php是一个Helper,包含了大部分控制器需要的常用功能。
  • 当你说助手时,我猜它在helper文件夹内
  • @Deepak HTMLPurifier 库位于 codeigniter 的库文件夹中。
  • 是的,它只在 helper 文件夹中。

标签: php codeigniter tinymce xss htmlpurifier


【解决方案1】:

Codeigniter 提供了一个常量APPPATH,它是application 文件夹的位置,在index.php 中定义。

使用它,你可以做到

require_once APPPATH . 'libraries/htmlpurifier/library/HTMLPurifier.auto.php';

这应该是要求文件的更简单的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-12
    • 2015-05-07
    • 1970-01-01
    • 1970-01-01
    • 2016-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多