問題タブ [htmlpurifier]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - HTML Purifier を使用して適切に動作するにはどうすればよいですか?
PHP プロジェクトでHTML Purifierを使用していますが、ユーザー入力で正しく動作するのに問題があります。
ユーザーに WYSIWYG エディター ( TinyMCE ) を使用して HTML に入力させていますが、ユーザーが HTML エンティティ
(改行なしのスペース) に入力するたびに、この奇妙な外来文字 ( Â
) としてデータベースに保存されます。
ただし、保存したエントリを WYSIWYG エディタを使用して編集すると、 として適切に表示されます
。表示された場合も適切に機能しますが、ソース コードでは実際のスペースとして表示されますが、非改行スペース文字として表示されません。
また、MySQL データベースでは、奇妙な外来文字として表示されます。
Unicode と HTML Purifierに関するドキュメントを読み、データベースと Web ページのエンコーディングを UTF-8 に変更しましたが、非改行スペース文字が壊れていないという問題がまだあります。や などの他の HTML エンティティは、<
および>
として保存され<
ます>
が、なぜ
でしょうか?
php - Zend_Loader に HTMLpurifier を含める
HTMLpurifier を Zend Framework と組み合わせて使用したいと考えています。クラスとそのファイルを Zend_Loader でロードしたいと考えています。どのように含めますか?HTMLPurifier.auto.php を使用しますか、それとももっと良い方法を知っていますか?
attributes - HTMLpurifier で一部の属性だけをホワイトリストに登録する方法は?
HTMLpurifier で一部の属性だけをホワイトリストに登録する方法は? HTMLpurifier に、許可されていない他のすべての属性を削除してもらいたい。
php - 特殊文字を選択的に食べる HTML Purifier
UTF-8 準拠のデータベースに対して PHP を使用する。入力方法はこんな感じ。
- テキストエリアへのユーザータイプ入力
- javascript escape() でエンコードされたテキストエリア
- HTTP ポスト経由で渡される
- PHP rawurldecode() でデコード
- デフォルト設定で HTMLPurifier を通過
- MySQL 用にエスケープされ、データベースに保存されます
そして、それは通常の方法で出てきて、ページの読み込み時に unescape() を実行します。これは、たとえば、Word 文書から直接コピーして貼り付けて、スマート クォートを表示できるようにするためです。
しかし、HTMLPurifier は、%D6 にエスケープする Ö のような単純な % 式にエスケープする非 UTF-8 特殊文字を破壊しているようですが、スマートクォートは %u2024 などにエスケープし、その方法でデータベースに入ります。特殊文字とその直後の文字の両方を取り出します。
このプロセスで何かを変更する必要があります。おそらく、私は複数のことを変更する必要があります。
特殊文字が上書きされないようにするにはどうすればよいですか?
drupal - htmlpurifier のアップグレード メッセージを停止する
Drupal では、4.0 が利用可能であるという htmlpurifier からのアップグレード メッセージをサイト全体で受け取り続けます。アップグレードを実行しました (ファイルをアップロードして update.php を実行しました) が、まだメッセージが表示されます。私がグーグルで調べたとき、これに関する発見はありません。
おそらく、maintenace フォルダー内の flush.php はそのキャッシュをフラッシュします (Drupal の残りのキャッシュとは不便なことに分離されています) が、ブラウザーで実行しようとするとエラーが発生します。
アップグレードが正しく行われていないか、キャッシュをフラッシュする必要があるか、このメッセージを閉じてください。アドバイス?
php - HTML Purifier-何を浄化するのですか?
XSS攻撃からアプリケーションを保護するためにHTMLPurifierを使用しています。現在、ユーザーがXHTMLマークアップを使用できる唯一の場所であるため、WYSIWYGエディターからコンテンツを精製しています。
私の質問は、ログイン認証システムのユーザー名とパスワード(または電子メール、名前、アドレスなどのサインアップページの入力フィールド)にもHTMLPurifierを使用する必要があるかどうかです。そこにXSS攻撃の可能性はありますか?
php - HTMLPurifier で埋め込み/オブジェクト/パラメータ HTML タグを許可しますか?
HTMLPurifier を使用して、embed、object、および param HTML タグを許可することは可能ですか? YouTube や Vimeo などの動画の埋め込みを許可しようとしていますが、何を試しても常に削除されます。これらは許可するのが危険なタグであることは理解しています。
それが不可能な場合、PHP には他にどのような HTML フィルタリング オプションがありますか? Tidy はフィルタリング用に設計されているようには見えません... そうですか? そして、strip_tags() は、特定の属性のみを許可するなど、私が探しているレベルの制御を提供しません。
ご協力いただきありがとうございます!
php - HTML Purifier を使用して自分のサイトへのリンクを阻止する
私はHTML purifierを使用して、公開されている WYSIWYG エディターから入ってくる疑わしいものを取り除きました。受信 HTML は、Web サイトの公開部分にも表示されます。
私はリンクを許可しており、URL をプレーン テキストで自動的にリンクします (purifier を使用)。
外部リンクを許可し、同じドメインへのリンクを禁止する方法はありますか? たとえば、私のドメインは www.example.com です
http://www.google.comがリンクされます。
http://www.example.com/logout/はリンクされません。
悪意のあるユーザーからの干渉を最小限に抑えることを検討しています。これを防ぐには、ログアウト リンクを POST キーと値のペアを含むフォーム アクションにする必要がありますか?
ありがとう
php - HTML Purifierフィルターに属性を追加しますか?
HTMLPurifierフィルター内の要素でrel属性を許可しようとしています。私はこのガイドhttp://htmlpurifier.org/docs/enduser-customize.htmlに従っており、コードは次のとおりです。
ただし、HTMLピューリファイヤーはまだすべてのrel属性を除外しています...問題が何であるかについて少し混乱しています。
私が使用するとき:
このエラーが発生します:
注意:非推奨のAPIを使用する:代わりに、 1819行目のファイルの
$config->set('Attr.AllowedRel', ...)
191行目で使用してくださいC:\wamp\www\neonet\application\modules\admin\controllers\IndexController.php
C:\wamp\www\neonet\library\My\htmlpurifier-4.0.0-standalone\HTMLPurifier.standalone.php
編集:
新しいコード:
私が使用するとき:
Rel属性は引き続きフィルタリングされます。