타

[보안팁] common.php 3차배열 에러발생시

· 2011-09-30 (금) 10:08:49 · 3991 · 1
common.php 파일의 보안설정 부분.
 
if( !get_magic_quotes_gpc() )
php.ini 의 설정중 magic_quotes_gpc가 false 일경우에 실행되는 내용입니다.
거의 true로 설정되어 문제가 없지만 간혹 false로 설정되어있을경우 문제가 발생합니다.
 
상황
1. magic_quotes_gpc 값이 false일경우
2. get, post, cookie 값중 3차 배열이 존재할경우 해당 보안상 문제와 버그문제가 발생됩니다.
 
처리
if( !get_magic_quotes_gpc() ) 부분의 내용을 변경 (재귀)
if( !get_magic_quotes_gpc() )
{
 function siteQuotesDel(&$data){
  if( is_array($data) ){
   while( list($k, $v) = each($data) ){
    if( is_array($data[$k]) ) {
     siteQuotesDel($data[$k]);
    } else {
     $data[$k] = addslashes($v);
    }
   }
   @reset($data);
  }
 }
 siteQuotesDel($_GET);
 siteQuotesDel($_POST);
 siteQuotesDel($_COOKIE);
}
 
위와 같이 변경해주면 해결됩니다. 많은 테스트는 거치진 않았으나.
기존의 소스를 응용한것이므로 큰 차이는 없을겁니다.
차이는 다중 배열을 지원한다는점 정도?
|

댓글 1개

2011-10-05 (수) 09:40:48
감사합니다
댓글을 작성하시려면 로그인이 필요합니다.

그누4 팁자료실

3,309건

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요. 나누면 즐거움이 커집니다.

+
제목 글쓴이 날짜 조회
11-10-07 조회 4,083
11-10-07 조회 3,905
11-10-06 조회 4,574
11-10-04 조회 8,060
11-09-30 조회 7,260
11-09-30 조회 3,992
11-09-26 조회 5,615
11-09-23 조회 1.9만
11-09-22 조회 7,056
11-09-20 조회 5,578
11-09-19 조회 4,281
11-09-19 조회 6,871
11-09-19 조회 4,388
11-09-19 조회 3,610
11-09-19 조회 6,095
11-09-19 조회 1.4만
11-09-19 조회 3,561
11-09-17 조회 6,514
11-09-16 조회 6,788
11-09-15 조회 3,998