Security

HTML Purifier の使い方

投稿日:2015年5月14日 更新日:

HTML Purifier について

HTML Purifier は、HTML文字列に対して特定のHTMLタグやその属性を削除してくれるPHPのライブラリです。

Composerで使う方法

1. composer.json の require に、以下を追記する

    // :
    "require": {
        // :
        "ezyang/htmlpurifier": "dev-master",
        // :
    },
    // :

2. composer update する

$ composer update

3. 実際に使う

// :
use HTMLPurifier;
use HTMLPurifier_Config;
// :
class Foo {
    // :
    /**
     * HTML文字列を受け取り、purifyして返す。
     *
     * @param string $dirty_html
     * @return string
     */
    public function purify($dirty_html) {
        // HTMLPurifierを設定するためのクラスを生成する
        $config = HTMLPurifier_Config::createDefault();
        // target="_blank" が使えるようにする
        $config->set('HTML.TargetBlank', true);
        // id属性を許可する
        $config->set('Attr.EnableID', true);

        $purifier = new HTMLPurifier($config);
        return $purifier->purify($dirty_html);
    }
    // :

HTMLPurifier_Config での設定できる項目について

本家サイト

使い方に関して参考になるサイト

📂-Security
-

執筆者:labo


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

クリックジャッキング by IPA「安全なウェブサイトの作り方 第7版」

安全なウェブサイトの作り方:IPA 独立行政法人 情報処理推進機構の、「クリックジャッキング」から一部抜粋する。(この資料はPDFでしか提供されていない) 目次注意が必要なウェブサイトの特徴根本的解決 …

no image

IPA の「CMSを用いたウェブサイト構築における情報セキュリティ対策 4つのポイント」の重要な部分を抜粋する

目次1. はじめに2. CMS を構築されたウェブサイトを狙う攻撃と対策2.1. 脆弱性やウェブサイトの運用上の不備を悪用2.1.1. ソフトウェアの脆弱性2.1.2. 運用上の不備2.2. 認証を突 …

no image

IPA「SSL/TLS 暗号設定 ガイドライン」を基にしたウェブサーバーの設定例

SSL/TLS暗号設定ガイドライン~安全なウェブサイトのために(暗号設定対策編)~:IPA 独立行政法人 情報処理推進機構 を参考にして、実際にウェブサーバーのSSL設定をどう書けばよいのか?をメモし …

no image

SQLインジェクション対策 by IPA「安全なウェブサイトの作り方 第7版」

photo credit: Injection, Inject via photopin (license) 安全なウェブサイトの作り方:IPA 独立行政法人 情報処理推進機構の、「SQLインジェクシ …

Web Security

CSP (Contents Security Policy) の記述例その2

CSP (Contents Security Policy) の記述例その2です。