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 - HTML Purifier - hello w<o>rld/world tutorial striptags

I am just looking into using HTML Purifier to ensure that a user-inputed string (that represents the name of a person) is sanitized. I do not want to allow any html tags, script, markup etc - I just

stackoverflow.com

 

<?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
블로그 이미지

Link2Me

,