728x90
Web Root 디렉토리에서 설치를 위해 아래와 같이 실행한다.
# vendor/ezyang/htmlpurifier/library/ 에 자동 설치된다.
composer require ezyang/htmlpurifier
HTML Purifier는 해외의 보안 전문가들로부터 철저하게 검증받은 필터링 라이브러리이다.
페이지 표시할 때마다 매번 필터링하지 말고, DB에 저장하기 전에 한 번만 필터링한다.
게시물 제목이나 댓글처럼 HTML이 필요없는 경우 그냥 htmlspecialchars 또는 strip_tags 사용한다.
첨부파일 업로드를 사용한 XSS 공격은 게시물 내용과 별도로 막아줘야 한다.
https://stackoverflow.com/questions/2677578/php-html-purifier-hello-world-world-tutorial-striptags
<?php
include_once( 'htmlpurifier/htmlpurifier/library/HTMLPurifier.auto.php');
?>
<form method="post">
<input type="text" name="fname" placeholder="first name"><br>
<input type="text" name="lname" placeholder="last name"><br>
<input type="submit" name="submit" value="submit">
</form>
<?php
if(isset($_POST['submit']))
{
$fname=$_POST['fname'];
$lname=$_POST['lname'];
$config = HTMLPurifier_Config::createDefault();
$purifier = new HTMLPurifier($config);
$fname = $purifier->purify($fname);
$config = HTMLPurifier_Config::createDefault();
$purifier = new HTMLPurifier($config);
$lname = $purifier->purify($lname);
echo "First name is: ".$fname."<br>";
echo "Last name is: ".$lname;
}
?>
|
본격적으로 사용해 보기 위해서 자료를 검색하고 분석하는 중이다.
728x90
'Web Security' 카테고리의 다른 글
SSLCipherSuite (0) | 2024.07.17 |
---|---|
CentOS 7 서버 보안 (0) | 2023.03.03 |
remote IP address (0) | 2021.03.24 |
파일 다운로드 공격 방지 (0) | 2019.07.05 |
파일 업로드 공격 방지 (0) | 2019.06.21 |