PHPSnippets

[Tip] SQL Injection 공격 대응법

PHP에서 SQL Injection 공격에 대하여 간단하게 대응 할 수 있는 방법을 팁으로 공유합니다.
여러 가지 방법이 있겠지만 아래의 방법 정도만 해주어도 기초적인 SQL Injection 공격은 막을 수 있습니다.

  • 사용자가 입력하는 값은 모두 mysql_reql_escape_string()으로 감싸 처리한다.
  • 사용자가 입력하는 값이 정수(숫자)일 경우 (int)로 자료형으로 캐스팅해서 사용한다.
     $Number = (int)$_POST[Number];
    
  • $_SERVER 변수를 이용한 공격을 대비하여 REMOTE_ADDR, HTTP_REFERER, HTTP_USER_AGENT를 사용 할 때 mysql_real_escape_string()으로 감싸서 사용하기
     $remote_addr = mysql_real_escape_string($_SERVER[REMOTE_ADDR]);
     $http_referer = mysql_real_escape_string($_SERVER[HTTP_REFERER]);
     $http_user_agent = mysql_real_escape_string($_SERVER[HTTP_USER_AGENT]);