2014-04-23 2 views
0

안녕하세요 저는 cikeditor 플러그인을 사용하여 user.It에서 주어진 텍스트를 아름답게 보이고 있습니다. 제대로 작동했지만 이제는 내 웹 사이트의 보안을 강화하여 에코가 사용되는 모든 장소에서 htmlentities() 함수를 사용했습니다.ckeditor에서 htmlentities() 함수를 사용하지 않으려면 어떻게해야합니까?

문제 ckeditor에서 텍스트 출력 인해를 htmlentities() 나는 used.This의 효과 내 웹 사이트에 html 태그로 표시됩니다 나는 내 웹 사이트에 얻고 출력을한다 표시하는 동안입니다

<p><strong><span style="color:#008080">Superhero</span></strong></p> 

웹 사이트의 모양이 손상되었습니다. ckeditor 텍스트를 그대로 표시하고 싶습니다. 그러나 htmlentities() 을 사용해야합니다.

나는,

config.entities = false; 
config.basicEntities = false; 
config.entities_greek = false; 
config.entities_latin = false; 

하지만 내 코드에서 작동하지를 내가 아래 내 ckeditor/config.js 페이지에 다음과 같은 솔루션을 사용 이거요 관련된 많은 문제를 스택 오버 플로우를 검색하여 발견했다. 미리 감사드립니다.

답변

1

글쎄, 내가 아는 한 PHP에서 악의적 인 주입 스크립트 태그와 정상적인 HTML 태그를 구별 할 수있는 기본 방법이 없다는 것을 알고있다.

이렇게하면 악성 스크립트는 차단하지만 올바른 html 태그는 차단하지 않는 문제가 발생합니다.

htmlentities을 사용하는 대신 사용자 입력을 받아 들여 다시 표시해야 할 때 나는 htmlpurifier을 사용합니다. 내가 알고있는 또 다른 하나가 safeHtml입니다.

그러나 이보다 더 좋은 해결책이있을 수 있으며 또한 알고있는 데에도 관심이 있습니다. 불행히도 하나도 발견하지 못했습니다.

+0

ok. 답변 해 주셔서 감사합니다. – prakash

관련 문제