2015-05-26 2 views
0

Я новичок в системе codeigniter, и я делаю несколько запросов, и мой вопрос - это лучший способ сохранить мои запросы в безопасности. Должен ли я использовать mysql_real_escape_string или есть лучший способ. Я использую следующий код для моих вставок:Каковы наилучшие способы предотвращения SQLInjection в CodeIgniter

function createCustomer($data){ 
    $this->firstname = $data['firstname']; 
    $this->lastname  = $data['surname1'].' '.$data['surname2']; 
    $this->address  = $data['adres']; 
    $this->zipcode  = $data['zipcode']; 
    $this->mail   = $data['mail']; 
    $this->phonenumber = $data['phonenumber']; 

    $this->db->insert('Klant',$this); 

    //Check if the change was succesfull 
    return ($this->db->affected_rows() != 1) ? false : true; 
} 

И следующий код получает:

function getUserByName($firstname, $lastname){ 
     $query = $this->db->get_where('Customer', array('firstname' => $firstname, 'lastname' => $lastname)); 
    return $query->result(); 
} 

Что бы быть лучшим способом предотвратить SQL-инъекции? Любые советы приветствуются.

+2

http://stackoverflow.com/questions/1615792/does-code-igniter-automatically-prevent-sql-injection И нет, вы НЕ используете функции mysql _ *(). Они устарели и устарели. –

+1

Я пропустил этот вопрос, я прочитаю его сейчас, спасибо за ссылку. Я буду помнить об этом – RDAxRoadkill

+1

Это уже встроено в рамки. – Sparky

ответ

-1

Лучший способ сделать это Откройте файл config.php файл приложения местоположения/конфигурации

сделать следующий код к истинному

|-------------------------------------------------------------------------- 
 
    | Global XSS Filtering 
 
    |-------------------------------------------------------------------------- 
 
    | 
 
    | Determines whether the XSS filter is always active when GET, POST or 
 
    | COOKIE data is encountered 
 
    | 
 
*/ 
 
$config['global_xss_filtering'] = FALSE;

к

|-------------------------------------------------------------------------- 
 
    | Global XSS Filtering 
 
    |-------------------------------------------------------------------------- 
 
    | 
 
    | Determines whether the XSS filter is always active when GET, POST or 
 
    | COOKIE data is encountered 
 
    | 
 
*/ 
 
$config['global_xss_filtering'] = TRUE;

Вы не должны делать ничего более, чтобы предотвратить внедрение sql-инъекций и межсайтовых скриптов.

+0

Это быстрое решение! Не нужно ли дезинфицировать мои запросы? – RDAxRoadkill

+1

ПРИМЕЧАНИЕ. Параметр 'global_xss_filtering' устарел в CodeIgniter версии 3 – Sparky

+1

Так как они устарели, я не должен его использовать? Есть ли что-то еще, что вы рекомендовали бы? – RDAxRoadkill

Смежные вопросы