2012-05-25 2 views
0

사용자가 몇 가지 마크 업 옵션으로 정보를 입력 할 수있는 CKEditor (WYSIWIG)가있는 텍스트 영역 설정이 있습니다. 그러나 나는 잠재적 인 해커가이 기능을 악용하고 악의적 인 코드를 입력하는 것을 막을 필요가 있습니다. 가능성은 여전히 ​​공격자가 단순히 어떤 HTML에 onload 또는 onclick 등을 추가 할 수 남아있다 그러나 http://php.net/manual/en/function.strip-tags.php스트립 JavaScript 기능, 즉 사용자 입력에서 onclick

:

내가) (PHPs의 strip_tags를 사용하여 허용 태그의 배열을 사용하여 원하지 않는 태그를 제거 할 수 있습니다 태그가 허용 목록에 있습니다.

그렇다면이 유형의 문제를 확인하는 최선의 방법은 무엇입니까?

필자의 초기 생각은 이러한 JavaScript 함수의 블랙리스트 배열을 만든 다음 입력 된 데이터 내에서 발생하는 것이 있는지 확인하는 것입니다.

더 좋은 방법으로 들리겠습니까? 아니면 더 좋은 대안이 있습니까?

답변

2

를 사용하여보다 강력한 도구는 http://htmlpurifier.org/

처럼 그것은 당신이 입력을 살균, 태그를 허용 속성을 추가 할 수 있습니다. 너는 더 많은 통제권을 가질 것이다.

블랙리스트 대신 허용 목록을 생성하는 것이 좋습니다. 블랙리스트를 사용하면 위험한 속성을 건너 뛸 수 있지만 허용 된 사이트 목록을 사용하면 원하는 것을 허용 할 수 있습니다.