2011-11-03 6 views
3

$ _POST를 통해 HTML 양식의 입력을받는 PHP 페이지가 있습니다. $ _POST의 문자열에는 따옴표가 있고 백 슬래시는 '\'로 이스케이프 처리됩니다. 나는 그 밖의 어떤 것이 탈출/부호화할지 모른다. 사용자가 입력 한 내용 (UTF-8로 이상적)을 정확히 갖고 싶습니다.이 작업을 수행하는 간단한 기능이 있다고 확신하지만 어느 것이 적합한 것인지 확실하지 않습니다.

데이터베이스에 삽입하거나 HTML의 중간에서 반환 할 때주의해야한다는 것을 알고 있지만 코드에서 사용자가 입력 한 내용을 정확하게 처리하고 싶습니다.

편집 : magic_quotes_gpc는 일부 항목을 이스케이프 처리하고 있었지만 제거한 후에도 여전히 & # 260과 같은 HTML 항목이 있습니다. $ _POST에서. $ _POST를 원래 사용자 입력으로 다시 디코딩하는 간단한 방법이 있습니까? (UTF-8이 바람직 함)?

+1

데이터를 안전하게 처리하는 것은 "매우 좁은 상황"입니까? 나는 얼마나 많은 좋은 질문들이 그렇게 끝났는지 믿을 수 없다. – doug65536

답변

5

PHP의 stripslashes 기능을 사용해보십시오.

보안상의 이유로 권장하지 않는 magic_quotes_gpc가있는 것처럼 들리며, 이후 버전의 PHP에서도 제거됩니다.

+0

그래서 magic_quotes_gpc가 나를 도망친 것입니까? 어떻게하지? – Matt

+0

예. PHP의 설정 옵션입니다. 다음에 몇 가지 추가 정보가 있습니다 : http://php.net/manual/en/security.magicquotes.php – nickb

1

양식이있는 페이지에서 문자 세트가 UTF-8로 올바르게 설정되지 않은 것처럼 보입니다. 내가 이것을 고치면 모든 것이 잘 나왔다.

관련 문제