안녕하세요,보안
내가 CodeIgniter의에서 안전에 대한 몇 가지 의문에 봉착는 처음이다 : news.php, 그 안에 내가하는 방법이 있습니다
나는 컨트롤러가
이class News extends CI_Controller{
public function view($id)
{
$this->load->model('news_model');
$this->news_model->get_by_id($id);
// ...
}
}
작업이 형태의 안전 :
예보기라고? URL에 의한 SQL 삽입의 위험이 있습니까? 이 페이지가 mywebpage/news/number_id에 액세스 할 수 있음을 고려하십시오. intval() 또는 불필요한 것을 필터링하는 것이 흥미로울 것입니까?
내 두 번째 질문은 :
기본 된답니다 XSS 필터에 의해게시하고 얻을 수 있지만, 방법 알 수없는 CodeIgniter의에서 HTML을 필터링 할 수 있습니다, 나는 아래로 CodeIgniter의에서 도우미를 만들어, 네이티브와 유사한 몇 가지 방법이있다 CodeIgniter?
function remove_xss_html($string){
if(is_array($string)){
$return_array = array();
foreach($string as $item)
{
if(!get_magic_quotes_gpc())
{
$return_array[] = addslashes(htmlspecialchars(strip_tags($item)));
}
else
{
$return_array[] = htmlspecialchars(strip_tags($item));
}
}
return $return_array;
}
else
{
return htmlspecialchars(strip_tags($string));
}
}
와 세 번째와 마지막 질문은 다음과 같습니다
내가 변수 $를 보낼 경우 this-> 입력 -> 포스트 ('my_var')에 직접 필터를 사용하지 않고 데이터베이스에, 나는 위험을 실행 SQL 주입? CodeIgniter 또는 필터가 매우 안전합니까?
IMPORTANTE : 영어 실력이 좋지 않아서 Google에서 번역 및 수정을 할 수있었습니다. 당신은 DB의 상호 작용에 대한 Active Record 클래스를 사용하는 경우
는
설명 주셔서 감사합니다.하지만 활성 레코드를 사용하고 예, 저는 항상 함수의 매개 변수에 대한 기본값을 결정합니다. Function test ($ id = false) {}, if ($ id) {} – user875690