我使用的是 kohana 2.3.4,我有一个“嵌入谷歌地图代码”的文本区域,系统会自动剥离 iframe 标签,而不是插入到数据库中。这是我用于插入/更新的代码片段:
$this->db->query("UPDATE tbl_sites SET map_code='$_POST[map_code]' WHERE id=$id");
该查询看起来很狡猾,但如果您确定它正确更新了记录,并且 Kohana 只是剥离 iframe,那么这可能是 XSS 过滤的问题。您是否尝试关闭全局 XSS 过滤?http://docs.kohanaphp.com/general/security#cross_site_scripting_xss
我的猜测是您在索引 $_POST 数组时忘记了引号。尝试这个:
$this->db->query("UPDATE tbl_sites SET map_code='{$_POST["map_code"]}' WHERE id={$id}");
您还应该确保在查询中使用来自数组的值之前对其进行清理。$_POST