$ _post이 자동으로 견적 전에 슬래시를 추가하기 때문에 왜 mysql_real_escape_string ()을 사용하는 이유는 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1747677

문제

php에서 $ _post는 견적 마크 전에 자동으로 슬래시를 추가하는데 왜 mysql_real_escape_string ()을 적용하는 이유는 무엇입니까? 예를 들어, 입력 할 때 'rrr 입력 필드에서, 나는 얻는다 \'rrr 내가 그것을 반향 할 때.

도움이 되었습니까?

해결책

Macigquotes가 PHP 구성에서 활성화 된 경우에만 발생합니다. 오늘날 아는 한, 오늘날에는 드문 일이 아닙니다. 또한 MySQL_REAL_ESCAPE_STRING은 다른 MYSQL 관련 문자도 탈출합니다.

체크 아웃 http://php.net/manual/en/security.magicquotes.php 마법 인용문에 대한 자세한 내용은.

보시다시피,이 지침에 대한 감가 상각 경고가 이미 있으므로 어쨌든 서버 구성을 확인해야합니다 ^^

편집 : Magic Quotes를 비활성화하려면 php.ini의 XAMPP 폴더에서 검색하고 다음 지시 사항을 추가하거나 변경하십시오.

; Magic quotes
;

; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = Off

; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off

; Use Sybase-style magic quotes (escape ' with '' instead of \').
magic_quotes_sybase = Off

다른 팁

  1. mysql_real_escape_string은 주입 문제를 일으킬 수있는 다른 char가 있기 때문에 단일 인용문 이상으로 빠져 나옵니다.
  2. PHP는 Magic_Quotes가 활성화 된 경우 게시 된 입력에 슬래시를 추가합니다. 이는 나쁜 연습으로 간주됩니다 (real_escape_string과 같은 것을 사용하지 않고 게으름으로 이어지기 때문에!)

마법 인용문 PHP 5.3.0 기준으로 더 이상 사용되지 않았습니다 PHP 6.0 기준으로는 더 이상 사용되지 않습니다.

편집 : 따라서 자동 슬래시는 대부분의 PHP 설치로 더 이상 사용되지 않기 때문에 의존 할 수 없으며 곧 전혀 작동하지 않을 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top