2023-05-10 304 View 공개 |
PHP의 MySQLi 확장에서 사용하는 mysqli_real_escape_string() 함수에 대해 자세히 알아보자. 이 함수는 MySQL 쿼리를 안전하게 만드는 데 중요한 역할을 하므로, PHP와 MySQL을 사용하여 웹 애플리케이션을 개발하는 데 있어 중요한 지식이다.
mysqli_real_escape_string() 함수는 MySQL 쿼리에서 사용될 문자열에서 특수 문자를 안전하게 처리한다. 이 함수는 문자열에서 다음과 같은 특수 문자를 해제한다.
• \x00 • \n • \r • \ • ' • ' • \x1a
이 함수는 SQL 인젝션 공격을 방지하는 데 도움이 된다. SQL 인젝션은 공격자가 악의적인 SQL 문을 삽입하여 데이터베이스를 공격하는 방법이다.
mysqli_real_escape_string() 함수를 사용하는 방법은 다음과 같다.
mysqli_real_escape_string($connection, $string_to_escape);
여기서 $connection은 데이터베이스 연결을 나타내는 mysqli 객체이며, $string_to_escape는 이스케이프할 문자열이다.
다음은 mysqli_real_escape_string() 함수를 사용하는 간단한 예제이다.
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db'); $user_input = 'O'Reilly'; $safe_input = $mysqli->real_escape_string($user_input); $query = 'INSERT INTO authors (name) VALUES ('$safe_input')'; $mysqli->query($query);
이 예제에서 사용자 입력에 작은따옴표(')가 포함되어 있다. 만약 이 문자열을 그대로 사용하면, SQL 쿼리가 제대로 작동하지 않다. 하지만 mysqli_real_escape_string() 함수를 사용하면 작은따옴표가 이스케이프되어 안전하게 쿼리에 삽입된다.
PHP의 MySQLi 확장에서 사용하는
mysqli_real_escape_string()
함수에 대해 자세히 알아보자. 이 함수는 MySQL 쿼리를 안전하게 만드는 데 중요한 역할을 하므로, PHP와 MySQL을 사용하여 웹 애플리케이션을 개발하는 데 있어 중요한 지식이다.mysqli_real_escape_string() 함수란?
mysqli_real_escape_string()
함수는 MySQL 쿼리에서 사용될 문자열에서 특수 문자를 안전하게 처리한다. 이 함수는 문자열에서 다음과 같은 특수 문자를 해제한다.
이 함수는 SQL 인젝션 공격을 방지하는 데 도움이 된다. SQL 인젝션은 공격자가 악의적인 SQL 문을 삽입하여 데이터베이스를 공격하는 방법이다.
mysqli_real_escape_string()
함수를 사용하는 방법은 다음과 같다.
phpmysqli_real_escape_string($connection, $string_to_escape);
여기서 $connection
은 데이터베이스 연결을 나타내는 mysqli 객체이며, $string_to_escape
는 이스케이프할 문자열이다.
다음은 mysqli_real_escape_string()
함수를 사용하는 간단한 예제이다.
php$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');
$user_input = 'O'Reilly';
$safe_input = $mysqli->real_escape_string($user_input);
$query = 'INSERT INTO authors (name) VALUES ('$safe_input')';
$mysqli->query($query);
이 예제에서 사용자 입력에 작은따옴표(')가 포함되어 있다. 만약 이 문자열을 그대로 사용하면, SQL 쿼리가 제대로 작동하지 않다. 하지만 mysqli_real_escape_string()
함수를 사용하면 작은따옴표가 이스케이프되어 안전하게 쿼리에 삽입된다.