ssouf

addslashes,stripslashes 본문

Web DEV/PHP

addslashes,stripslashes

황금니 2010. 7. 21. 03:55
addslashes 는 "aaa" 값이 넘어오면 DB에 들어갈때 \"aa\" 으로 변환
,stripslashes 는 반대이다

 


db insert,update 시 addshases는 기본보안 항목일겁니다.

다만, post해서 넘어온 변수를 일일이 addslashes해주는 건 귀찮은 일입니다.

반대로 select로 불러온 뒤 stripslashes하는 것도 상당히 귀찮은 일입니다.

이를 간판하게 하는 방법이 있습니다.

여기에 쉽게 사용방법이 array_map() 함수입니다.

post경우

$_POST=array_map('addslashes', $_POST);

select경우

$re=mysql_query("select.......

while($data=mysql_fetch_array($re)){
 $data=array_map('stripslashes', $data);
}


부가적으로

$_POST=array_map('addslashes', $_POST);

이를 한방에 해결하는 것이 아래입니다.

magic_quotes_gpc()=on

이는 phpinfo(); 를 통해 알수있겠습니다.

이는 php.ini 설정값으로, on 으로 하면 되겠습니다. 다만, 보안상 권하지는 않습니다.

해서 이 값은 .htaccess를 통해 변경이 가능한데, off 로 바꿔주고, 

$_POST=array_map('addslashes', $_POST);

으로 해주는 것이 좋습니다.
 
 
ex)
if(!get_magic_quotes_gpc()){
$_GET=array_map('addslashes', $_GET);
$_POST=array_map('addslashes', $_POST);
$_COOKIE=array_map('addslashes', $_COOKIE);
}

//`register_globals = off 에 따른 gps 배열변수 extract`
extract($_GET);
extract($_POST);
extract($_SERVER); 

'Web DEV > PHP' 카테고리의 다른 글

에디트 플러스 에서 파일마다 폴더 일치 시키기  (0) 2016.06.03
display_errors,Date 오류,error_report  (0) 2012.06.20
업로드  (0) 2010.09.07
자동글쓰기 방지  (0) 2010.03.09