2012-04-11 65 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,則所有值也會根據需要自動轉義。