我正在使用codeigniter,目前我正在进行全身搜索,我想知道这样做的最佳做法是什么。现在我有这个:
$keyword = $this->db->escape_like_str(trim($_POST['keyword']));
之后,执行搜索。这是安全的还是我需要做更多的事情(XSS Filtering已开启)?
答案 0 :(得分:5)
因为您直接访问_POST变量,所以您绕过了所有CI的XSS / Escaping和安全功能。你应该这样做:
$this->input->post('keyword');
这是automatically escaped by CI,,你可以在将它扔到数据库之前执行其他验证。此外,如果您使用active record,则所有值也会根据需要自动转义。