2010-06-12 3 views
0

필자는 PDO 준비 문을 통해 mySQL에 입력 한 내용을 입력하고 PHP로 htmlspecialchars()를 사용하여 내 웹 사이트에 배치하여 XSS로부터 보호합니다. 문제는 입니다. 사용자에게 웹 페이지에 표시되는 인용 부호 앞에 슬래시가 표시됩니다. 서버에 업로드 할 때만 슬래시가 발생합니다. 내 로컬 호스트에서 절대로 발생하지 않습니다.htmlspecialchars가 내 웹 페이지에 슬래시를 추가하는 이유는 무엇입니까?

왜 이런 일이 발생합니까?

답변

2

서버에서 마술 따옴표를 사용할 수 있습니까?

는 찾아 PHP에서이 줄을보십시오 : 그들이 활성화 된 경우, 당신이 그들을 제거하는 stripslashes을 사용할 수 있습니다

if(get_magic_quotes_gpc()) 
    echo "Magic quotes are enabled"; 
else 
    echo "Magic quotes are disabled"; 

.

+0

체크 됨, 마술 따옴표가 비활성화되었습니다. – JoeCortopassi

+0

htmlspecialchars입니까? 해당 함수 호출 이전에 출력을 확인 했습니까? 일부 SQL 탈출로 인한 것일 수 있습니다 –

+0

SQL 이스케이프를 사용하지 마십시오. 모든 것이 PDO를 통해 데이터베이스에 저장되므로 – JoeCortopassi