mysqli_real_escape_string() 이란?
php에서 제공하는 함수로 MYSQL과 커넥션을할때 String을 Escape한 상태로 만들어준다.
사용법 :
mysqli_real_escape_string(connection, escapestring);
- MYSQL 과 연결하는 connection과 escape형태로 만들어줄 string을 입력한다.
Escape string이란?
우리가 string을 입력할때 Tom's cat 이란 입력을 하면 '는 sql문에 앞서 있던 ' 와 중첩이 될 수 있다.
이러한 문제를 막기위해 \n, \r \" 처럼 구별해주는 형태로 만들어주는 것을 Escape string 이라고 한다.
활용예시
보안을 위해 사용할 수 있다.
만약 Escape하지 않은 소스로 그냥 input을 받는다고 생각해보자.
예를들면 사용자가 입력창에 'DROP TABLE 테이블명' 같은 위험성 있는 문장을 악의적으로 기입 할 수 있다. 그러면 테이블이 다 날라가버린다. (이를 injection 공격이라고 한다.)
mysqli_real_escape_string 을 통해 그러한 공격을 방지하며 입력받을 수가 있다.
위의 코드는 예시인데,
$_POST 로 넘어오는 인자값들을 직접 받지않고
mysqli_real_escape_string 을 통해 filtering 된 인자로 받아준다.
(참조 : 생활코딩 https://www.youtube.com/watch?v=GdRZhWjTDnE&t=420s )
728x90
'Web > PHP' 카테고리의 다른 글
[PHP] PHP 문자열 합치기 / Merge String / (0) | 2019.10.26 |
---|---|
[PHP] boolean 값 화면에 출력하기, var_dump() (0) | 2019.08.04 |
[PHP] PHP 에러 확인하기 (0) | 2019.08.04 |
[PHP] PHP 출력 오류 (0) | 2019.08.04 |
[PHP] 출력하기 축약형 <?=?> 태그 (0) | 2019.08.03 |
댓글