쉽게 HTML 특수 엔터티 디코딩
HTML 특수 엔터티를 디코딩하는 것은 혼란스러운 작업일 수 있습니다. 다음 JSON 응답을 고려하세요.
{ "message": "We're unable to complete your request at this time." }
인코딩된 아포스트로피(')를 확인하세요. 이 인코딩의 이유는 불분명할 수 있지만 가장 중요한 관심사는 인코딩을 디코딩하는 것입니다.
jQuery의 침입적 접근 방식
jQuery를 사용하는 한 가지 가능한 방법은 HTML 문자열을 div를 만들고 텍스트 콘텐츠를 추출합니다.
function decodeHtml(html) { return $('<div>').html(html).text(); }
그러나 이 접근 방식은 다소 틀에 얽매이지 않습니다.
선호되는 솔루션: 태그 보존
태그도 보존하는 보다 우아한 솔루션이 있습니다.
function decodeHtml(html) { var txt = document.createElement("textarea"); txt.innerHTML = html; return txt.value; }
이 접근 방식에는 textarea 요소, innerHTML을 HTML 문자열로 설정한 다음 해당 값을 검색합니다. content.
XSS 방지를 사용한 실제 예
다음 예를 고려하십시오.
Input: Entity:&nbsp;Bad attempt at XSS:<script>alert('new\nline?')</script><br> Output: Entity: Bad attempt at XSS:<script>alert('new\nline?')</script><br>
보시다시피 특수 엔터티( )이 디코딩되고 스크립트 태그는 보존되어 애플리케이션의 안전을 보장합니다.
위 내용은 XSS를 방지하면서 HTML 특수 엔터티를 쉽게 디코딩할 수 있는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!