問題タブ [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.

0 投票する
2 に答える
3674 参照

php - HTML Purifier を使用して適切に動作するにはどうすればよいですか?

PHP プロジェクトでHTML Purifierを使用していますが、ユーザー入力で正しく動作するのに問題があります。

ユーザーに WYSIWYG エディター ( TinyMCE ) を使用して HTML に入力させていますが、ユーザーが HTML エンティティ (改行なしのスペース) に入力するたびに、この奇妙な外来文字 ( Â) としてデータベースに保存されます。

ただし、保存したエントリを WYSIWYG エディタを使用して編集すると、 として適切に表示されます 。表示された場合も適切に機能しますが、ソース コードでは実際のスペースとして表示されますが、非改行スペース文字として表示されません。

また、MySQL データベースでは、奇妙な外来文字として表示されます。

Unicode と HTML Purifierに関するドキュメントを読み、データベースと Web ページのエンコーディングを UTF-8 に変更しましたが、非改行スペース文字が壊れていないという問題がまだあります。や などの他の HTML エンティティは、&lt;および&gt;として保存され<ます>が、なぜ&nbsp;でしょうか?

0 投票する
4 に答える
2405 参照

php - Zend_Loader に HTMLpurifier を含める

HTMLpurifier を Zend Framework と組み合わせて使用​​したいと考えています。クラスとそのファイルを Zend_Loader でロードしたいと考えています。どのように含めますか?HTMLPurifier.auto.php を使用しますか、それとももっと良い方法を知っていますか?

0 投票する
1 に答える
2147 参照

attributes - HTMLpurifier で一部の属性だけをホワイトリストに登録する方法は?

HTMLpurifier で一部の属性だけをホワイトリストに登録する方法は? HTMLpurifier に、許可されていない他のすべての属性を削除してもらいたい。

0 投票する
1 に答える
1576 参照

php - 特殊文字を選択的に食べる HTML Purifier

UTF-8 準拠のデータベースに対して PHP を使用する。入力方法はこんな感じ。

  1. テキストエリアへのユーザータイプ入力
  2. javascript escape() でエンコードされたテキストエリア
  3. HTTP ポスト経由で渡される
  4. PHP rawurldecode() でデコード
  5. デフォルト設定で HTMLPurifier を通過
  6. MySQL 用にエスケープされ、データベースに保存されます

そして、それは通常の方法で出てきて、ページの読み込み時に unescape() を実行します。これは、たとえば、Word 文書から直接コピーして貼り付けて、スマート クォートを表示できるようにするためです。

しかし、HTMLPurifier は、%D6 にエスケープする Ö のような単純な % 式にエスケープする非 UTF-8 特殊文字を破壊しているようですが、スマートクォートは %u2024 などにエスケープし、その方法でデータベースに入ります。特殊文字とその直後の文字の両方を取り出します。

このプロセスで何かを変更する必要があります。おそらく、私は複数のことを変更する必要があります。

特殊文字が上書きされないようにするにはどうすればよいですか?

0 投票する
1 に答える
105 参照

drupal - htmlpurifier のアップグレード メッセージを停止する

Drupal では、4.0 が利用可能であるという htmlpurifier からのアップグレード メッセージをサイト全体で受け取り続けます。アップグレードを実行しました (ファイルをアップロードして update.php を実行しました) が、まだメッセージが表示されます。私がグーグルで調べたとき、これに関する発見はありません。

おそらく、maintenace フォルダー内の flush.php はそのキャッシュをフラッシュします (Drupal の残りのキャッシュとは不便なことに分離されています) が、ブラウザーで実行しようとするとエラーが発生します。

アップグレードが正しく行われていないか、キャッシュをフラッシュする必要があるか、このメッセージを閉じてください。アドバイス?

0 投票する
4 に答える
4210 参照

php - HTML Purifier-何を浄化するのですか?

XSS攻撃からアプリケーションを保護するためにHTMLPurifierを使用しています。現在、ユーザーがXHTMLマークアップを使用できる唯一の場所であるため、WYSIWYGエディターからコンテンツを精製しています。

私の質問は、ログイン認証システムのユーザー名とパスワード(または電子メール、名前、アドレスなどのサインアップページの入力フィールド)にもHTMLPurifierを使用する必要があるかどうかです。そこにXSS攻撃の可能性はありますか?

0 投票する
2 に答える
2635 参照

php - HTMLPurifier で埋め込み/オブジェクト/パラメータ HTML タグを許可しますか?

HTMLPurifier を使用して、embed、object、および param HTML タグを許可することは可能ですか? YouTube や Vimeo などの動画の埋め込みを許可しようとしていますが、何を試しても常に削除されます。これらは許可するのが危険なタグであることは理解しています。

それが不可能な場合、PHP には他にどのような HTML フィルタリング オプションがありますか? Tidy はフィルタリング用に設計されているようには見えません... そうですか? そして、strip_tags() は、特定の属性のみを許可するなど、私が探しているレベルの制御を提供しません。

ご協力いただきありがとうございます!

0 投票する
1 に答える
893 参照

php - HTML Purifier を使用して自分のサイトへのリンクを阻止する

私はHTML purifierを使用して、公開されている WYSIWYG エディターから入ってくる疑わしいものを取り除きました。受信 HTML は、Web サイトの公開部分にも表示されます。

私はリンクを許可しており、URL をプレーン テキストで自動的にリンクします (purifier を使用)。

外部リンクを許可し、同じドメインへのリンクを禁止する方法はありますか? たとえば、私のドメインは www.example.com です

http://www.google.comがリンクされます。

http://www.example.com/logout/はリンクされません。

悪意のあるユーザーからの干渉を最小限に抑えることを検討しています。これを防ぐには、ログアウト リンクを POST キーと値のペアを含むフォーム アクションにする必要がありますか?

ありがとう

0 投票する
1 に答える
3721 参照

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.phpC:\wamp\www\neonet\library\My\htmlpurifier-4.0.0-standalone\HTMLPurifier.standalone.php

編集:

新しいコード:

私が使用するとき:

Rel属性は引き続きフィルタリングされます。

0 投票する
1 に答える
481 参照

php - jWYSIWYG エディターの動作の変更に関するヘルプ

jWYSIWYG エディターでは、Enter を押すと s が挿入され<br />ます。

これの代わりに、エンターを押すと、チャンクが<p>タグでラップされることをお勧めします。

出力とは

私が欲しいもの

構成を簡単に調べると、内部でハッキングしないとできないようです。

プラグインをハックするか、PHP を使用することをお勧めしますか? 受信した HTML は HTML Purifier で解析されるので、それができれば素晴らしいことです。

では、プラグインまたは PHP のどこでそれを行う必要がありますか? それを行う方法の簡単な実装はありますか?

ありがとう