2012-08-10 3 views
2

그래서 나는 사용자가 ckeditor에 HTML을 입력 할 수있는 작은 시스템을 개발해 왔습니다. HTML은 데이터베이스에 저장됩니다 (microCMS). Mysqli를 사용하는 경우mysqli + ckeditor = escapes and breaking html

문제는, 그것은 이전과 이후 이스케이프 문자를 삽입합니다 '와'HTML 코드의 부하를 파괴하는, 논리적으로, 주입을 중지하기 위해. 예를 들어

는 된다 또는 그 근처에 코드가 깨져있는 경우

주사 방지를 비활성화하거나 데이터베이스에 다른 방식으로 입력 할 수있는 방법이 있습니까? 아니면 mabi가/"데이터베이스에서 가져올 때?

감사

-jman6495

편집 : 나는 문제 를 해결 한 나는 PHP는 않는 str_replace 함수를 사용하여 "에 의해"는/대체했다.

코드는 다음과 같습니다. $ pagecontent = str_replace ('\ "', '"'$ pagecontent); echo $ pagecontent; 데이터를 가져올 때 어쨌든

-jman6495

답변

1

당신이 이러한 문자가 표시되는 경우

덕분에 다시 밖으로 어떻게 든 이중 이스케이프 내용이야. 한 번만 이스케이프 처리하고 있는지 확인하고 자리 표시 자로 수행하십시오 (mysql_real_escape_string 제외). 문제를 해결하지 않았습니다. 심각한 버그로 인해 피해를 입지 않았습니다.

SQL 이스케이프의 목적은 데이터를 정확하고 신뢰성있게 삽입하는 것입니다. 예를 들어 O'Reilly은 MySQL의 경우 O''Reilly이어야합니다. 데이터베이스 의 실제 내용은 인용구와 관계없이O'Reilly이어야합니다.

+0

대단히 감사합니다! (매우 늦은 대답에 대해 유감스럽게 생각합니다!) – jmaris