[PHP] addslashes() 와 stripslashes()

데이터베이스에 값을 넣는 경우. 특수기호를 입력하게 되는 경우가 있다. 쿼리문법을 구성하는 특수 기호인 경우 오류가 발생하는데, 이는 쿼리인젝션 공격의 방법으로도 쓰인다.

데이터베이스에 이런 특수기호를 입력하기 위해서는 기호 앞에 역슬래시(\)를 붙이게 되는데, 이를 자동적으로 해주는 함수가 addslashes() 함수이다.

EX)
<input name="test" type="textbox"/> 일때 입력값을 'test' 라고 친 경우.

이 값을 그냥 쿼리로 구성하면...
insert into testtable('datavalue') values(''test''); 가 되버려서 오류가 발생한다.

하지만 위 함수로 처리를 해주면
insert into testtable('datavalue') values('\'test\''); 로 변환되어 이런 문제를 회피할 수 있다.


반대로 저렇게 DB에 저장된 값을 가져와서 복원시킬때는 stripslashes()를 사용하면 된다.

댓글

이 블로그의 인기 게시물

11점 풀 트래킹 달성

[빼먹은거 추가+] 바이브 무선킷 연결 끊김 문제

JQuery로 테이블 행(ROW) 복사 뜨기.