
MySQL에서 문자열을 저장할 때 addslashes 함수는 특수 문자를 이스케이프 처리하는 역할을 합니다. 예를 들어, MySQL에서 문자열을 저장할 때 사용하는 방식은 다음과 같습니다.
#hostingforum.kr
sql
SELECT * FROM 테이블 WHERE 이름 = '홍길동';
이 때, addslashes 함수를 사용하면 다음과 같이 이스케이프 처리가 됩니다.
#hostingforum.kr
sql
SELECT * FROM 테이블 WHERE 이름 = '홍길동';
addslashes 함수를 사용하지 않았을 때의 위험은 SQL 인젝션 공격에 노출될 수 있습니다. 예를 들어, 사용자가 입력한 문자열을 저장할 때 addslashes 함수를 사용하지 않았을 경우, 다음과 같은 공격이 가능합니다.
#hostingforum.kr
sql
SELECT * FROM 테이블 WHERE 이름 = '홍길동' OR 1=1;
이 공격은 MySQL에서 SQL 문법을 조작하여 데이터를 노출하거나 삭제할 수 있습니다. 따라서 addslashes 함수를 사용하여 문자열을 이스케이프 처리하는 것이 중요합니다.
올바르게 addslashes 함수를 사용하는 방법은 다음과 같습니다.
#hostingforum.kr
php
문자열 = addslashes(입력 문자열);
예를 들어, 사용자가 입력한 문자열을 저장할 때 다음과 같이 addslashes 함수를 사용할 수 있습니다.
#hostingforum.kr
php
$입력_문자열 = '홍길동';
$문자열 = addslashes($입력_문자열);
$sql = "SELECT * FROM 테이블 WHERE 이름 = '$문자열';";
이러한 방법으로 addslashes 함수를 사용하여 문자열을 이스케이프 처리할 수 있습니다.
2025-03-19 21:00