HTMLPURIFIERカスタム属性 -- html フィールド と custom-attributes フィールド と htmlpurifier フィールド 関連 問題

htmlpurifier custom attributes












13
vote

問題

日本語

HTMLPURIFIERのカスタム(HTML5データ・*)属性を許可する方法?

入力:

<事前> <コード> <img src="/my.jpg" data-type="5" alt="" />

エラーにつながる:

<事前> <コード> symbol found! Failure value returned from cantFail wrapped call UNREACHABLE executed at install/llvm-8.0-x86-debug/include/llvm/Support/Error.h:732! 0

HTMLPurifierオプションは次のように設定されています。

<事前> <コード> symbol found! Failure value returned from cantFail wrapped call UNREACHABLE executed at install/llvm-8.0-x86-debug/include/llvm/Support/Error.h:732! 1
英語

How to allow custom (html5 data-*) attributes in HtmlPurifier?

Input:

<img src="/my.jpg" data-type="5" alt="" /> 

leads to an error:

Attribute 'data-type' in element 'img' not supported  (for information on implementing this, see the support forums)  

HtmlPurifier options are set to:

'HTML.AllowedAttributes' => array('img.src', 'a.href', 'img.data-type') 
</div
        
 
 

回答リスト

20
 
vote

HTML清浄機は、標準に準拠している属性の行列を定義し、あなたはそれがこの行列で定義されていないという属性を使用しようとすると文句を言います。

:しかし、あなたは以下の通りHTMLDefinition :: addAttribute()関数を使用して、デフォルトの定義に新しい属性を追加することができます <事前> <コード> $config = HTMLPurifier_Config::createDefault(); $def = $config->getHTMLDefinition(true); $def->addAttribute('img', 'data-type', 'Text'); $purifier = new HTMLPurifier($config);

の詳細については、 HTMLDefinition :: addAttributeするの定義を参照してください。ここでは 'Text' は属性型である、あなたはからデフォルト属性タイプを見つけることができますAttrTypes.phpする

 

HTML purifier defines the matrix of attributes that are standard compliant and complains when you try to use an attribute that it is not defined in this matrix. However, you can add new attributes to the default definition using the function HTMLDefinition::addAttribute() as follow:

$config = HTMLPurifier_Config::createDefault(); $def = $config->getHTMLDefinition(true); $def->addAttribute('img', 'data-type', 'Text'); $purifier = new HTMLPurifier($config); 

See the definition of HTMLDefinition::addAttribute for more details. 'Text' here is the attribute type, you can find the default attribute type from AttrTypes.php

</div
 
 
 
 

関連する質問

4  HTML Purifierのすべてのリンクを変更します  ( Modify all links in html purifier ) 
私はHTML Purifierを使用して、不要/悪意のあるHTMLタグをすべて削除しています。 <事前> <コード> $html = 'dirty html provided by user'; $config = HTMLPurifier_Config::c...

5  このマークアップのHTMLPurifier許可タグを変更します  ( Modifying htmlpurifier allowed tags for this markup ) 
My HTML清算機の設定今これらのタグのみを許可する <事前> <コード> $configuration->set('HTML.Allowed', 'p,ul,ol,li'); リストのインデントを許可し、私のエディタはこのHTML を使用します。 <...

0  HTML Purifierでキャッシュを無効にする方法  ( How to disable cache in html purifier ) 
HTML清算子のホームページでこの文書に従いますが、それは単語ではありません。これは私のコードです <事前> <コード> require_once 'library/HTMLPurifier.auto.php'; $purifier = new HTMLPu...

0  HTMLPURIFIERは引用符の前に挿入されます  ( Htmlpurifier inserts before quotes ) 
システムでは、執筆投稿にCKEditorを使用しています。次に、PHPに送信すると、HTMLPurifierを使用してCKEditorから作成されたHTMLを検証します。問題は、HTMLPURIFIERが前に追加することです。たとえば、CKEditorは: <...

1  HTMLPurifier configにたとえ属性を無視します  ( Htmlpurifier ignoring attributes even though in config ) 
特定のHTML属性をHTMLPurifierのホワイトリストに許可するのに役立ちます。 これは私のコードです: <事前> <コード> $config = HTMLPurifier_Config::createDefault(); $config->set('H...

1  yii1 - htmlpurifier allowllscreen属性を削除します  ( Yii1 htmlpurifier removes allowfullscreen attribute ) 
HTMLPURIFIERの組み込みサポートを使用して、私のyiiプロジェクトでユーザーからの入力を掃除するために以下の構成を使用しています <事前> <コード> array( 'URI.AllowedSchemes' => array( ...

0  HTML Purifier - iframeとスクリプト  ( Html purifier iframe and scripts ) 
私は私のプロジェクトで html purifier を使用しています。 私のHTMLはこのようなものです。 (単純なHTML要素+スクリプト+ iframeを含む) <事前> <コード> <p>content...<p> <iframe></iframe> <...

3  HTMLPurifier、HTML文書全体を確認してください  ( Htmlpurifier check entire html document ) 
HTMLPurifierを使用して、HTML文書全体のXSSをチェックします。問題は、 <body> タグ内ではないような任意のものを削除するように見えることです。しかし、私はすべてを守りたい、ただ深刻なXSS攻撃を見てください。 <HTML> 、<コー...

2  Zendでカスタムフィルタを呼び出す方法  ( How to call custom filters in zend ) 
私は私のウェブサイトでHTMLPurifierを使いたいですが、ビューでフィルタをロードする方法を理解できません。ここで最初の答えで説明されている方法をフィルタに追加しました。私のビューからそれを $this->filter($content) のようなもので...

4  XSS防止、TIDY対清浄機?  ( Xss prevention tidy vs purifier ) 
挨拶、 CKEDITOR(JavaScript WYSIWYGエディタ)を使用して、入力フィールドからのXSSと不適切なHTMLを防止しようとしています。 サーバー側でこのデータをフィルタリングする方法は?私が比較している2つのオプションは、PHP Tidy...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有