프로그램/php2012. 2. 27. 15:39


php를 설치한 후 php.ini 파일을 열어보고 magic_quotes_gpc 설정이 On으로 되어있다면
sql 인젝션 공격에 대한 대비가 어느정도 되어있다고 할 수 있다.

 

[php.ini] 소스 내용 중 magic_quotes_gpc 부분

; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = On


하지만 이 설정을 사용하지 않는다면 php에서 sql injection 공격을 방지할 수 있는 처리를 해야 한다.


// sql injection 처리
function chk_sqlinjection()
{
 if(!get_magic_quotes_gpc())
 {
  foreach($_POST as $k => $v)
  {
    $_POST[$k] = addslashes($v);
  }

  foreach($_GET as $k => $v)
  {
    $_GET[$k] = addslashes($v);
  }

  foreach($_SERVER as $k => $v)
  {
    $_SERVER[$k] = addslashes($v);
  }

  foreach($_COOKIE as $k => $v)
  {
    $_COOKIE[$k] = addslashes($v);
  }
 }
}

 

참고>

php 5.3 부터는 배제가 되며 php 6.0 이후부터는 magic_quotes_gpc가 아예 제거된다고 한다.

Posted by 은둔고수