2012-04-11 11 views
1

Ich benutze Codeigniter, und im Moment mache ich Ganzkörper-Suche, und ich frage mich, was ist die beste Praxis, dies zu tun. Denn jetzt habe ich dies:Codeigniter, Best Practice für die sichere Suche

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

Danach wird Suche durchgeführt wird. Ist das sicher oder muss ich etwas mehr tun (XSS Filtering ist aktiviert)?

+0

Das Risiko besteht hier in der sql-Injektion, also ist XSS irrelevant. – symcbean

Antwort

5

Da Sie direkt auf die Variable _POST zugreifen, umgehen Sie die XSS/Escaping- und Sicherheitsfunktionen aller CI. Sie sollten bekommen, dass als:

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

Diese automatically escaped by CI, ist und Sie können andere Validierungen durchführen, bevor es gerade bei der DB zu werfen. Auch wenn Sie active record verwenden, werden alle Werte automatisch wie erforderlich ebenfalls ausgeblendet.