update : 2015.11.03
php.shukuma.com검색:
|
mysql_real_escape_string(PHP 4 >= 4.3.0, PHP 5) mysql_real_escape_string — mysql_query에서 특수 문자열을 이스케이프하기위해 사용 설명
string mysql_real_escape_string
( string
$unescaped_string
[, resource $link_identifier
] )
mysql_real_escape_string()는 MySQL 라이브러리 함수인 mysql_real_escape_string를 호출하여, 다음의 문자에 백슬래시를 붙인다: \x00, \n, \r, \, ', ", \x1a. 이 함수는 MySQL로 질의를 전송하기 전에 안전하게 데이터를 만들기 위해 항상 사용해야한다. 인수
반환값
이스케이프된 문자열을 반환하고 에러가 발생하면 예제
Example #1 mysql_real_escape_string() 예제
<?php
Example #2 SQL 인젝션 공격(Injection Attack)의 예
<?php MySQL로 전송되는 질의: SELECT * FROM users WHERE user='aidan' AND password='' OR ''='' 유효한 비밀번호 없이 누구나 접속하여 접근이 가능하다.
Example #3 "Best Practice" 질의 mysql_real_escape_string()은 각 변수에 대해 SQL 인젝션을 방지한다. 이 예제는 Magic Quotes 설정과는 별개로 데이터베이스를 질의하는 "best practice" 방법을 시연한다.
<?php SQL 인젝션 공격이 동작하지 않으며 질의가 정확하게 실행될 것이다. 주의
참고
|