我的前端有一个textarea接受谷歌地图代码,这是一个iframe。当我尝试更新它时,查询失败。这些值未插入数据库。我使用文本在db中保存iframe。我在模型中使用的代码:
function save(){
$data['cmpny_address'] = $this->input->post('cmpny_address');
$data['cmpny_map'] = $this->input->post('cmpny_map');
$this->db->where('id',1);
$this->db->update('contact_us', $data);
}
我尝试使用htmlspecialchars,strip_tags,$ this-> db-> escape等来清理输入。我实际上尝试了相关SO问题的所有建议。但没有运气。有人请建议一种解决问题的方法。
修改:
创建问题的是<iframe></iframe>
。 <p></p> , <h1></h1>
没有任何错误。
答案 0 :(得分:1)
(代表OP发布)。
这是一个服务器问题。支持团队表示&#34; modsecurity阻止了它&#34;。
答案 1 :(得分:0)
无需编写任何htmlspecialchars
和strip_tags
活动记录自动处理所有这些事情。
使用set
方法更新您的数据
function save(){
$this->db->set("cmpny_address", $this->input->post('cmpny_address'));
$this->db->set("cmpny_map", $this->input->post('cmpny_map'));
$this->db->where('id',1);
$this->db->update('contact_us');
}
OR
创建像
这样的数据数组$data=array('cmpny_address'=>$this->input->post('cmpny_address'),'cmpny_map'=>$this->input->post('cmpny_map'));
$this->db->where('id',1);
$this->db->update('contact_us', $data);
已更新
要将iframe发送到帖子,您必须设置
$config['global_xss_filtering'] = FALSE;
在config.php
文件中