programing

PHP 프로그램에서 HTML을 안전하게 출력하는 방법은 무엇입니까?

telecom 2023. 7. 24. 22:16
반응형

PHP 프로그램에서 HTML을 안전하게 출력하는 방법은 무엇입니까?

PHP에서 이 작업을 수행할 때 다음과 같은 문제가 발생할 수 있습니다.

<span title="<?php echo $variable;?>">...

문제는 만약에$variable큰따옴표 포함, 이를 로 변경해야 합니다.\"

그리고 그것이 아직 전부는 아닙니다.

<span title='<?php echo $variable;?>'>...

이 경우 단일 따옴표를 다음으로 변경해야 합니다.\'이중 따옴표는 그대로 둡니다.

또한 변수 값에는 HTML을 방해하는 대괄호 < 및 >가 포함될 수 있습니다.

그렇다면 어떻게 하면 HTML의 출력을 안전하게 피할 수 있을까요?

항상 HTML 특성 내의 항목을 HTML 인코딩하려고 합니다. 이 작업은 다음과 같이 수행할 수 있습니다.

<span title="<?php echo htmlspecialchars($variable); ?>">

두 번째 파라미터($quote_style) ~로ENT_QUOTES.

유일한 잠재적 위험은$variable이미 인코딩되어 있을 수 있으므로 마지막 파라미터를 설정할 수 있습니다.$double_encode) ~로false.

HTML로 텍스트를 출력하기 전에 html 특수 문자()를 사용하여 이스케이프해야 합니다.따라서 (이중) 따옴표가 올바르게 변경되었는지 확인하십시오.

해당 함수의 두 번째 매개 변수에 주목합니다.

Bat 도구에는 작업도 수행하는 StringTool::htmlAttributes($arrayOfAttributes) 메서드가 있습니다.

https://github.com/lingtalfi/Bat/blob/master/StringTool.php

언급URL : https://stackoverflow.com/questions/2109583/how-to-safely-output-html-from-a-php-program

반응형