2012-04-11 70 views
1

我正在使用codeigniter,目前我正在进行全身搜索,我想知道做这件事的最佳做法是什么。现在我有这个:Codeigniter,安全搜索的最佳做法

$keyword = $this->db->escape_like_str(trim($_POST['keyword'])); 

之后,执行搜索。这是安全的还是我需要做更多的事情(XSS Filtering已启用)?

+0

这里的风险是sql注入,所以XSS是无关紧要的。 – symcbean 2012-04-11 10:04:28

回答

5

因为您直接访问_POST变量,所以您将绕过所有CI的XSS/Escaping和安全功能。你应该得到的是如下:

$this->input->post('keyword'); 

这是automatically escaped by CI,,你可以直接在DB掷了出去执行其他验证。此外,如果您使用active record,则所有值也会根据需要自动转义。