- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我在这个问题上搜索了每个网站,包括 stackoverflow。
我在全局范围内启用了 XSS,只有少数页面使用了 TinyMCE。在这些页面上,我希望 TinyMCE 部分不启用 XSS。
读了大约 40 页后,他们都说要做以下事情:
$tiny_mce = $this->input->post('note'); // xss filtering off
或
$tiny_mce = $this->input->post('note', FALSE); // xss filtering off
我都试过了,这是我的模型:
public function edit($id) {
$tiny_mce = $this->input->post('note'); // xss filtering off
$userId = $this->ion_auth->get_user_id();
$data = array(
'note' => $tiny_mce
,'postedBy' => $userId);
$this->db->where('id', $id);
$this->db->update('company_notes', $data);
}
有人知道为什么它不起作用吗?任何帮助都会很棒!我真的不想全局关闭 XSS,所以我希望有一个“每基”方法。
编辑我刚试过
public function edit($id) {
$this->config->set_item('global_xss_filtering', FALSE);
$tiny_mce = $this->input->post('note'); // xss filtering off
$userId = $this->ion_auth->get_user_id();
$data = array(
'note' => $tiny_mce
,'postedBy' => $userId);
$this->db->where('id', $id);
$this->db->update('company_notes', $data);
}
但这也行不通。
最佳答案
Controller 初始化后无法禁用 XSS 过滤。
因为如果在 config.php
文件中启用 $config['global_xss_filtering'] = TRUE;
,CodeIgniter 会对 $_POST
执行 XSS 过滤>、$_GET
、$_COOKIE
在初始化 Controllers
、Models
和 ...
因此,当您访问 Controller
时,一切都已完成。
虽然解决方案是禁用 $config['global_xss_filtering']
并根据需要对特定变量运行 XSS 过滤,但有一种方法可以将原始值(预过滤)保留在某处以供使用他们后来:
1) 在 application/config.php
中将 $config['enable_hooks']
设置为 TRUE
.
2)将以下内容插入application/config/hooks.php
:
$hook['pre_controller'] = array(
'class' => '',
'function' => 'keep_vars',
'filename' => 'keep_vars.php',
'filepath' => 'hooks',
'params' => array($_POST, $_GET)
);
注意:我们正在使用这个 Hook
在 Controller 初始化之前执行 keep_vars()
函数(您可能还想考虑使用 'pre_system'
键)。
3) 在 application/hooks/
目录中创建 keep_vars.php
,内容如下:
<?php
function keep_vars ($vars = array())
{
if (empty($vars)) return;
global $pre_filter;
$pre_filter = array();
foreach ($vars as $var) {
$pre_filter = array_merge($pre_filter, $var);
}
}
4) 最后,当您想要访问 Controller 中的 $_GET
或 $_POST
中的变量时,定义全局变量$pre_filter
方法中的变量:
class Foo extends CI_Controller {
public function __construct()
{
parent::__construct();
}
public function bar ()
{
// define as global
global $pre_filter;
// check the pre XSS filtered values
print_r($pre_filter);
// you can get access to pre filtered $_POST['key'] by:
echo $pre_filter['key'];
}
}
关于php - codeigniter 2 以及如何为 TinyMCE 禁用 xss,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17686074/
因为没有更多的 Tinymce 论坛,如果我可以问有没有办法通过在源代码中添加 style="width: or height:"来关闭表格功能。 谢谢 最佳答案 我通过将以下内容添加到 tinymc
我的页面加载了 5 个 div,可以使用 Tinymce 内联编辑器进行编辑。通过单击一个按钮(如此动态),我可以安心地使用 Jquery 加载 5 个新的。但是当然新的不会受到 Tinymce 的影
我想以相同的形式使用 2 个不同的 textareas 和 tinyMCE。第一个效果很好,但是每当我添加第二个时,第二个都会被禁用(当我从右下角手动放大时它会启用)。它们的字段名称和 id 是不同的
我不确定我是否理解正确,但我相信有一个免费的“基本”版本,如果您需要一些高级插件和技术支持,您只需付费。 情况真的是这样吗? 最佳答案 是 . 请查看 this link和 this link想要查询
我的一位用户对tinyMCE 中的撤消功能感到非常沮丧。它不是撤消最后一个微小的更改,而是撤消许多更改。这是每隔几秒拍摄一次快照的计时问题吗?这是可配置的吗? 其他信息:用户正在将信息从 Word 复
我有最新版本的 TinyMCE 编辑器,当我像那样传递图像链接时 http://www.w3schools.com/css/trolltunga.jpg它会自动转换为 .我试图捕获 paste_pr
如果编辑器当前内容的长度加上要粘贴的单词的长度超过指定的限制,我需要阻止tinyMCE的粘贴事件。我该怎么做?谢谢。 最佳答案 我错了。我不需要阻止或禁用 tinyMCE 中的粘贴来执行此操作。我使用
我正在使用 TinyMCE 插件并将 valid_elements 选项设置为: "a[href|target:_blank],strong/b,em/i,br,p,ul,ol,li" 即使没有列出数
我似乎无法在互联网上找到有关此的任何信息,但是 TinyMCE 4 中的图标如何工作? 我知道我可以按名称为按钮指定图标并为我的自定义按钮指定自定义图标,但是如果我想采用标准图标之一,在图像编辑应用程
每次我向 tinyMCE 添加图像时,它都会将图像 URL 转换为愚蠢的内容(删除主机名并添加 ../或任何它需要的内容),因此我将无法在任何其他级别使用 tinymce 创建的图像地点 ! 这可以以
我有一个包含多个文本区域的页面,可以用 TinyMCE 替换。 一些 Textareas 采用阿拉伯语文本,一些英语文本。 textareas 根据他们应该接收的输入正确设置了 dir -属性。 如何
我正在使用最新的 TinyMCE,它很棒,但我遇到的唯一问题是人们发布代码示例时。他们以 PRE 格式发布还是正常发布都没有关系。 TinyMCE 去掉了所有的缩进(Tabs)并使其难以阅读,这里有没
我一直在寻找几个小时来找到一个可以在图像中添加诸如“填充:5px”之类的东西的插件。每个人都通过纯 html 做到这一点吗?我们的客户需要一种方法来简单地使用按钮或右键单击上下文菜单来添加它。有什么建
我想要 tinymce 工具栏中的按钮。单击该按钮后,无论光标在哪里,“HELLO”都应出现在编辑器中。 版本:3.3.7 但我无法添加该按钮。 我试过添加这样的按钮 setup: function
我刚开始使用 TinyMCE 作为 WYSIWYG 编辑器,我想知道是否有人看到我的问题使用过这个不错的编辑器可以帮助我,这是我的脚本: tinyMCE.init({ mode :
我正在尝试从 ltr 设置 TinyMCE(版本 4.0.12)中的默认内容方向至 rtl . 我正在使用 directionality配置: directionality: 'rtl', ...但编
如何为粗体、下划线和删除线等基本内容覆盖 TinyMCE 的默认格式?目前生成的 HTML 使用样式化的跨度,这通常很好。不幸的是,在这种情况下,我需要做一些简单的解析并且需要元素是旧样式的 、 和
如何在 TinyMCE 中设置默认字体大小和背景颜色? 谢谢, 伊甸园 最佳答案 您也可以使用 Javascript 更改 css。 将此添加到您的 init 函数中: oninit : "postI
当我使用 TinyMCE 添加新表格时,表格几乎不可见,因为初始宽度只有几个像素。 有什么办法可以改变这种情况吗? 最佳答案 打开 table.js,转到第 30 行有内容 width = formO
我正在 TinyMCE 工具栏上制作一个额外的按钮(它用于 Wordpress,但我认为这并不重要)。 按下按钮并显示一个表单,我在配置它时完全不知所措,以便在表单上输入的值实际上传输到tinyMce
我是一名优秀的程序员,十分优秀!