답변
magic_quotes_gpc
가 있기 때문입니다. 이것은 SQL 입력을 피할 수없는 개발자를 위해 들어오는 데이터를 자동으로 벗어나도록 설계된 나쁜 '기능'입니다.
최대한 빨리 사용을 중지해야합니다.
ini_set('magic_quotes_gpc', 'off');
동의하십시오! magic_quotes_gpc가 깨졌습니다! +1 – TMS
이것은 나를 위해 작동하지 않습니다! 'magic_quotes_gpc()'는 이미 0을 반환했습니다 :( –
스트립()을 사용해보십시오. stripslashes()는 addslashes()와 반대이며 문자열에서 이스케이프 슬래시를 제거합니다.
훌륭해, 고마워! – mowwwalker
'magic_quotes_gpc'의 효과를 수동으로 되돌리는 대신이 기능을 모두 비활성화해야합니다. –
stripslashes()
기능을 사용할 수 있습니다. http://php.net/manual/en/function.stripslashes.php
이 동작은 "Magic Quotes"PHP 기능으로 인해 발생합니다. http://php.net/manual/en/security.magicquotes.php
당신은 마법 따옴표가 활성화 여부에 관계없이 작동하도록이 같은 것을 사용할 수 있습니다
if (get_magic_quotes_gpc()) {
$data = stripslashes($_POST['data']);
}
else {
$data = $_POST['data'];
}
당신에게도 감사합니다.하지만 그는 먼저 그것을 얻었습니다 : D – mowwwalker
'magic_quotes_gpc'의 효과를 수동으로 되돌리는 대신,이 기능을 모두 비활성화해야합니다. –
당신은 깨진 기능입니다 magic_quotes_gpc의를 끄한다 (Delan의 답변을보고, 나는 완전히 동의).
하지만 잠깐! 페이지에 데이터베이스 또는 디스플레이에 사용하려면 $ _REQUEST, $ _POST 및 $ _GET 및 $ _COOKIE에서 사용자 입력을 삭제해야합니다! 그렇지 않으면 코드가 다양한 유형의 공격을 받기 쉽습니다!
"보편적 인 위생 처리"와 같은 것은 없습니다. 그게 전부이기 때문에 을으로 인용합시다. MySQL의 쿼리
like
표현 MySQL의 쿼리에 대한
- 문자열 값 : 인용하면
, 당신은 항상 위해 같은 일부 특정 출력을, 텍스트를 인용
- mysql 정규식
- php 정규 표현식
각 경우마다 다른 구문 구문 내에서 사용되므로 다른 인용 부호가 필요합니다. 이것은 또한 인용문을 PHP로 입력하면 안되지만 특정 출력은입니다! magic_quotes_gpc
과 같은 기능이 손상된 이유는 무엇입니까 (항상 꺼져 있는지 확인하십시오 !!!).
그렇다면 이러한 특정 사례에서 인용을 위해 사용하는 방법은 무엇입니까?
mysql_real_escape_string($str)
mysql_real_escape_string(addcslashes($str, "%_"))
htmlspecialchars($str)
json_encode()
을 (더 현대적인 방법이있을 수 있습니다, 정정 해줘 자유롭게,하지만 나를 위해 노력하고 있습니다 이러한) - 단지 UTF8을 위해! iso-8859-2에 대한 함수를 사용합니다.mysql_real_escape_string(addcslashes($str, '^.[]$()|*+?{}'))
- 백 슬래시가 두 번 이스케이프되므로이 경우 preg_quote를 사용할 수 없습니다!preg_quote()
나는 그것이 문자열로 값을 잡고 항상이 방법을 사용하기 때문에 더 슬래시가 없을 것입니다 :
$variable = mysql_escape_string($_REQUEST['name_input']);
- 1. PHP 양식 : 제출 된 정보
- 2. Mysql Php real_escape_string으로 작은 따옴표 이스케이프
- 3. MYSQL에서 이스케이프 된 따옴표 묶음을 제거하십시오.
- 4. Adodb, 이스케이프 따옴표?
- 5. 작은 따옴표 문자를 이스케이프 처리
- 6. 레일 3 : 양식 (작은 따옴표 문자)에 작은 따옴표 넣기
- 7. Symfony : 데이터베이스에서 작은 따옴표 문자열을 이스케이프 처리합니까?
- 8. 이스케이프 된 따옴표를 포함하는 따옴표 사이에 일치하는 정규식
- 9. 양식 제출
- 10. PHP 체크 박스가 체크 된 경우에만 양식 제출
- 11. HttpWebResponse를 사용하여 이스케이프 처리 된 큰 따옴표 수신
- 12. Base64 인코딩 된 데이터를 양식 데이터로 제출
- 13. 제출 양식
- 14. 양식 제출
- 15. 양식 요소 값의 따옴표 사용
- 16. 양식 제출 질문
- 17. 양식 제출 Mootools
- 18. php 양식 제출 및 재전송 정보 화면
- 19. 페이지 외부의 ajax에서 양식 제출 (php)
- 20. 여러 양식 제출 페이지 Referesh PHP
- 21. Ajax에서 액세스하는 PHP 파일 양식 제출?
- 22. PHP AJAX 등록 양식 제출 튜토리얼
- 23. Javascript 리디렉션과 PHP 스크립트 제출 양식 비교
- 24. 전자 메일 확인란에 PHP 제출 양식
- 25. PHP 드롭 다운 스티커 및 제출 양식
- 26. PHP 사용자 정의 템플릿 시스템에서 양식 제출
- 27. HTML 양식 제출
- 28. 양식 제출 관련 문제
- 29. PHP 제출 된 파일 경로에 슬래시 추가
- 30. JQuery 양식 제출 질문?
이 좀 더 구체적으로 할 수 있습니까? 아마 어떤 코드일까요? – cwallenpoole