$ _post이 자동으로 견적 전에 슬래시를 추가하기 때문에 왜 mysql_real_escape_string ()을 사용하는 이유는 무엇입니까?
-
20-09-2019 - |
문제
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
다른 팁
- mysql_real_escape_string은 주입 문제를 일으킬 수있는 다른 char가 있기 때문에 단일 인용문 이상으로 빠져 나옵니다.
- PHP는 Magic_Quotes가 활성화 된 경우 게시 된 입력에 슬래시를 추가합니다. 이는 나쁜 연습으로 간주됩니다 (real_escape_string과 같은 것을 사용하지 않고 게으름으로 이어지기 때문에!)
마법 인용문 PHP 5.3.0 기준으로 더 이상 사용되지 않았습니다 PHP 6.0 기준으로는 더 이상 사용되지 않습니다.
편집 : 따라서 자동 슬래시는 대부분의 PHP 설치로 더 이상 사용되지 않기 때문에 의존 할 수 없으며 곧 전혀 작동하지 않을 것입니다.
제휴하지 않습니다 StackOverflow