HTML 태그가 포함된 문자열을 처리할 때 보안상의 이유로 문자열을 삭제하고 이스케이프하는 것이 중요합니다. 여기에는 '<', '>' 및 '&'와 같은 의심스러운 문자를 해당 HTML 엔터티인 '<', '>' 및 '&'로 바꾸는 작업이 포함됩니다.
기존 접근 방식 정규식(예: 'safe_tags' 함수)과 마찬가지로 대량의 문자열을 처리할 때 눈에 띄는 지연이 발생할 수 있습니다. 이러한 성능 문제를 해결하기 위해 브라우저의 자체 HTML 구문 분석 기능을 활용하는 대체 솔루션이 등장했습니다.
이 방법에는
샘플 코드:
var escape = document.createElement('textarea'); function escapeHTML(html) { escape.textContent = html; return escape.innerHTML; } function unescapeHTML(html) { escape.innerHTML = html; return escape.textContent; }
여기 데모가 있습니다.
console.log(escapeHTML('<b>Hello world</b>')); // Outputs "<b>Hello world</b>" console.log(unescapeHTML('<b>Hello world</b>')); // Outputs "<b>Hello world</b>"
보다 큼 기호('>')를 이스케이프 처리하지 말라는 제안은 성능을 최적화하려는 유혹처럼 보일 수 있지만 보안 위험을 초래합니다. 이스케이프되지 않은 '>' 문자를 사용하면 공격자가 스크립트에 악성 코드를 삽입할 수 있으므로 이 옵션은 권장되지 않습니다.
위 내용은 HTML 태그 엔터티를 탈출하는 가장 효율적인 방법은 브라우저 HTML 구문 분석을 활용하는 것입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!