【问题标题】:How to update or insert an iframe into database using Codeigniter?如何使用 Codeigniter 更新或插入 iframe 到数据库中?
【发布时间】:2015-07-30 05:11:07
【问题描述】:

我的前端有一个文本区域,它接受谷歌地图代码,它是一个 iframe。当我尝试更新它时,查询失败。这些值没有插入到数据库中。我使用文本将 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->e​​scape 等对输入进行清理。实际上,我已经尝试了相关 SO 问题的所有建议。但没有运气。有人请提出解决问题的方法。

编辑: 造成问题的是<iframe></iframe><p></p> , <h1></h1> 顺利通过。

【问题讨论】:

  • 这不是插入查询。您正在更新数据。
  • @Saty:对不起,我会编辑问题。
  • 感谢您将查询标记为已解决。为此,最好的方法是添加一个答案,您可以通过单击对勾符号自行接受。我们希望解决方案添加到问题中 - 它不属于那里。谢谢!

标签: php mysql codeigniter iframe


【解决方案1】:

(代表 OP 发布)。

这是服务器问题。支持团队说“modsecurity 阻止了它”。

【讨论】:

    【解决方案2】:

    无需编写任何htmlspecialcharsstrip_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'); 
    }
    

    创建你的数据数组,如

    $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 文件中

    【讨论】:

    • 不工作..我认为这是 的问题,而不是查询...
    • $this->input->post('cmpny_address')$this->input->post('cmpny_map') 的值是多少??
    • cmpny_address = "sometext";和 cmpny_map =
    • 试试html_entity_decode($this->input->post('cmpny_map'));
    • 刚才我注意到一件事。在我的测试服务器中,它更新没有任何问题,但在现场会发生此错误。这可能是什么原因?
    猜你喜欢
    • 2019-12-12
    • 2020-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-29
    • 2014-09-24
    • 2023-02-23
    相关资源
    最近更新 更多