get_magic_quotes_gpc 함수는 사용자가 제공한 데이터에 슬래시를 추가할지 여부를 결정하는 데 사용됩니다. 이는 php.ini구성 파일에 있습니다. 이 문서에서는 get_magic_quotes_gpc() 함수 설명을 소개합니다. 아래 에디터로 살펴보겠습니다
get_magic_quotes_gpc 함수는 사용자가 제공한 데이터에 슬래시를 추가할지 여부를 결정하는 데 사용됩니다. 이는 php.ini 구성 파일에 있습니다. get_magic_quotes_gpc() 함수 설명을 소개하겠습니다.
get_magic_quotes_gpc 함수 소개
PHP 시스템 함수인 PHP 환경변수 Magic_quotes_gpc의 값을 가져옵니다. 구문: long get_magic_quotes_gpc(void);반환 값: 긴 정수이 함수는 PHP 환경 구성에서 Magic_quotes_gpc(GPC, Get/Post/Cookie) 변수의 값을 가져옵니다. 0을 반환하면 이 기능이 꺼지고, 1을 반환하면 이 기능이 켜집니다. magic_quotes_gpc가 켜져 있으면 모든 '(작은따옴표), "(큰따옴표), (백슬래시) 및 null 문자는 자동으로 백슬래시가 포함된 오버플로 문자로 변환됩니다. Magic_quotes_gpc 설정은 자동으로 GPC로 설정됩니다. get, post, cookie에 의해 전달된 데이터에서)는 백슬래시와 함께 추가됩니다. get_magic_quotes_gpc()를 사용하여 시스템 설정을 감지할 수 있습니다. 이 설정이 켜져 있지 않으면 addlashes() 함수를 사용하여 추가할 수 있습니다. 해당 기능은 데이터베이스 쿼리 문에서 필요할 때 특정 문자 앞에 백슬래시를 추가하는 것입니다. 이러한 문자는 작은따옴표('), 큰따옴표("), 백슬래시() 및 NUL(NULL 문자)입니다. 기본적으로 PHP 명령인 Magic_quotes_gpc가 켜져 있으며 이는 주로 모든 GET 및 POST 및 COOKIE 데이터에 사용됩니다. addlashes()를 자동으로 실행합니다. magic_quotes_gpc에 의해 이스케이프된 문자열에는 addlashes()를 사용하지 마세요. 이 상황이 발생하면get_magic_quotes_gpc 감지 기능을 사용할 수 있습니다.
예get_magic_quotes_gpc()를 사용하여 데이터베이스 공격을 예방하는 올바른 방법
코드는 다음과 같습니다
<?php function check_input($value) { // 去除斜杠 if (get_magic_quotes_gpc()) { $value = stripslashes($value); } // 如果不是数字则加引号 if (!is_numeric($value)) { $value = “‘” . mysql_real_escape_string($value) . “‘”; } return $value; } $con = mysql_connect(“localhost”, “hello”, “321″); if (!$con) { die(‘Could not connect: ‘ . mysql_error()); } // 进行安全的 SQL $user = check_input($_POST['user']); $pwd = check_input($_POST['pwd']); $sql = “SELECT * FROM users WHERE user=$user AND password=$pwd”; mysql_query($sql); mysql_close($con); ?>
요약은 다음과 같습니다.
1.magic_quotes_gpc=의 경우. on,us 데이터베이스에서 입출력되는 문자열 데이터에 대해
addslashes() 및 Stripslashes()를 수행할 필요가 없으며,
addlashes()를 수행하면 데이터가 정상적으로 표시됩니다. 이때 입력 데이터는
출력할 때 불필요한 백슬래시를 제거하기 위해 Stripslashes()를 사용해야 합니다.
2 Magic_quotes_gpc=off인 경우addlashes()를 사용하여 입력 데이터를 처리해야 합니다. 하지만 스트립슬래시()를 사용할 필요는 없습니다
형식화된 출력addlashes()는 백슬래시를 데이터베이스에 함께 기록하지 않기 때문에 mysql이 SQL 문 실행을 완료하는 데 도움이 됩니다
위 내용은 PHP get_magic_quotes_gpc() 함수 사용 지침의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!