페이지 정보

작성자 루미집사 댓글 2건 조회 5,937회 작성일 23-03-04 09:11

그누보드 sql_escape_string() 함수

본문

PHP에서 MySQL escape 처리는 mysqli_real_escape_string() 함수를 사용하여 수행할 수 있습니다. 이 함수는 인자로 전달된 문자열에서 MySQL 쿼리에 영향을 미치는 특수문자들을 escape 처리하여 반환합니다.

아래는 예제 코드입니다.

 

// MySQL 데이터베이스 연결
$conn = mysqli_connect('localhost', 'username', 'password', 'database');

// 문자열 변수
$string = "It's a beautiful day";

// 문자열 escape 처리
$escaped_string = mysqli_real_escape_string($conn, $string);

// escape 처리된 문자열을 사용하여 쿼리 실행
$query = "SELECT * FROM mytable WHERE mycolumn = '{$escaped_string}'";
$result = mysqli_query($conn, $query);

// 결과 출력
while ($row = mysqli_fetch_array($result)) {
    echo $row['mycolumn'];
}

 

위 예제에서는 mysqli_real_escape_string() 함수를 사용하여 $string 변수에 저장된 문자열을 escape 처리한 후, 이를 $escaped_string 변수에 저장합니다. 그리고 이 변수를 사용하여 MySQL 쿼리를 실행하여 결과를 출력합니다.

이렇게 MySQL escape 처리를 수행하면, SQL 인젝션과 같은 보안 취약점을 예방할 수 있습니다.

그누보드는 PHP로 작성된 대표적인 오픈소스 게시판 프로그램 중 하나입니다. 그누보드는 MySQL 데이터베이스와 연동되며, 보안상의 이유로 SQL 인젝션 공격을 막기 위해 입력된 문자열을 escape 처리하는 기능을 제공합니다.

그누보드에서는 mysqli_real_escape_string() 함수를 직접 사용하지 않고, 보안 처리를 위한 sql_escape_string() 함수를 제공합니다. 이 함수는 입력된 문자열에서 MySQL 쿼리에 영향을 미치는 특수문자들을 escape 처리하여 반환합니다.

아래는 그누보드에서 sql_escape_string() 함수를 사용하여 SQL 인젝션을 방지하는 예제입니다.

 

// MySQL 데이터베이스 연결
$conn = mysqli_connect('localhost', 'username', 'password', 'database');

// 문자열 변수
$string = "It's a beautiful day";

// 문자열 escape 처리
$escaped_string = sql_escape_string($string);

// escape 처리된 문자열을 사용하여 쿼리 실행
$query = "SELECT * FROM mytable WHERE mycolumn = '{$escaped_string}'";
$result = mysqli_query($conn, $query);

// 결과 출력
while ($row = mysqli_fetch_array($result)) {
    echo $row['mycolumn'];
}

 

위 예제에서는 sql_escape_string() 함수를 사용하여 $string 변수에 저장된 문자열을 escape 처리한 후, 이를 $escaped_string 변수에 저장합니다. 그리고 이 변수를 사용하여 MySQL 쿼리를 실행하여 결과를 출력합니다.

그누보드에서는 이와 같은 sql_escape_string() 함수를 통해 보안 취약점을 예방하도록 권장하고 있습니다.

댓글목록

profile_image

루미집사님의 댓글

루미집사 작성일

12323

profile_image

루미집사님의 댓글의 댓글

루미집사 작성일

31232