최근 "기사 입력"페이지에서 NicEdit을 사용하기 시작했습니다. 그러나 보안 및 악용 방지에 대한 몇 가지 질문이 있습니다.NicEdit의 HTML POST 값을 어떻게 위생 처리합니까?
첫 번째 질문 : 나는 현재 "mysql_real_escape_string()은"내 데이터베이스 클래스로 모든 입력을 살균. 또한 htmlspecialchars (htmlentity (strip_tags ($ var)))를 사용하여 HTML 값을 삭제합니다.
"HTML 입력"을 데이터베이스에 추가 할 때 어떻게 위생을합니까? ?
두 번째 질문 : 나는이 질문을 만드는 동안, 거기에 질문 "비슷한 제목이"내가 한 번 읽혀질 그것은 자신의 유효한 템플릿 엉망 "학대 HTML 입력"에 대해 말하기 사람이었다.. (예 : 그냥 입력)
현재 시스템에서도 발생할 수 있습니다. PHP로 어떻게 처리해야합니까?
Ps. 나는 NicEdit을 계속 사용하고 싶다. 그래서 BBCode 시스템을 사용하는 것이 마지막 조언이되어야한다.
감사합니다.
이 기사를 읽습니다. HTML에 자바 스크립트 코드를 작성하거나 사용자가 기본 HTML 리디렉션을 사용하여 삽입 된 (예 : 바이러스 링크) 사용자로 리디렉션하는 것에 대해 걱정했습니다. 여전히 자신의 HTML을 NicEdit 텍스트 영역에 포함시킬 수 있습니다. 왜 그 텍스트를 신뢰할 수 있습니까? – Aristona
사실, * selective HTML이 전혀 입력되지 않는 일반적인 문제입니다.사용자를 전혀 신뢰하지 않는다면 HTML 만 있으면 모든 것을 탈출 할 수 있습니다. 사용자를 신뢰하는 경우 (사용자 라고만 말하기 때문에) 그대로 텍스트를 사용하십시오. 그 사이의 모든 것이 엉망이며 IMO는 HTML로 변환되는 Markdown과 같은 특수 마크 업 언어를 사용하여 가장 잘 해결됩니다. HTML을 선택적으로 위생 처리하는 것은 [HTML Purifier] (http://htmlpurifier.org/)와 같은 라이브러리를 사용하여 복잡하고 가장 잘 수행됩니다. – deceze