안녕하세요
코드이그나이터 초보입니다.
전 개발자가 짜 놓은 코드를 보고 있는데 현재
//mysqli 사용
$test = htmlspecialchars(addslashes($this->input->post('test')));
$sql = "SELECT * from table WHERE file_id = '$test'";
$query = $this->db->query($sql);
이렇게 코드가 쓰이고 있는데 여러 sql injection 코드들을 테스팅 중인데 다 안전히 텍스트로 들어가네요
ex)
Robert'); DROP TABLE User;
INSERT INTO User (name) VALUES (?)
이대로 쓰여도 괜찮을까요?
감사합니다!
이전 개발자분이 인젝션방어를 위해 잘 처리해 두신것 같습니다.
CI에서는 sql문을 직접 쓰는 것 보다 아래 처럼 쿼리를 바이딩 하여 사용 하시는것을 권장 합니다.
http://cikorea.net/user_guide_2.1.0/database/queries.html