2009년 12월 28일 월요일

PHP 의 POST 자동 addslashes

SQL injection을 피해보잡시고 POST값에 대해서 addslashes를 하려고 했다. 그런데 뭔가 조금 이상해서 봤더니 POST된 값에 이미 슬래쉬가 붙어있다. flash가 그렇게 보내진 않을거 같고 조금 찾아봤더니 아래와 같은 설명이 PHP 메뉴얼에 나온다.

 

The PHP directive magic_quotes_gpc is on by default, and it essentially runs addslashes() on all GET, POST, and COOKIE data. Do not use addslashes() on strings that have already been escaped with magic_quotes_gpc as you'll then do double escaping. The function get_magic_quotes_gpc() may come in handy for checking this.

 

magic_quotes_gpc가 on이면 GET, POST, COOKIE에 대해서 addslashes()를 수행한다. 그래서 addslashes()를 추가했다가 다시 빼버렸다. 다른 환경을 위해 get_magic_quotes_gpc()로 검사하고 직접 해주던지 놔두던지 하게 바꾸야 한다.

댓글 1개:

  1. trackback from: [MSSQL]Sql server 에서의 문자열 함수
    요즘 회사에서 고객 정보 데이터를 새로운 인터페이스로 구축하는 작업을 하고 있습니다. 증권회사의 고객정보 테이블이라서 회의가 애일 이어지고 하루에도 열두번씩 수정사항이 생기는거 같아서 200 항목이 넘는 데이터를 수정사항이 생길때마다 새로운 포멧으로 만들어서 보고를 해야하는데 여간 힘든일이 아닙니다. 그렇게 매일 대량의 데이터를 아주 약간씩 수정할때 일일이 손으로 수정 할수는 없겠죠. ㅋㅋ MSSQL이 제공하는 각종 문자변환 함수들 덕에 그나마 시간..

    답글삭제