web-dev-qa-db-ja.com

Unfiltered_htmlとunfiltered_uploadは実際には何をフィルタリングしますか?

WordPressの capabilities にはunfiltered_htmlunfiltered_uploadがありますが、フィルタリングで特に許可または禁止されているものについての文書はまだありません。

私がunfiltered_htmlに関してWordPressのサイトで見つけた唯一の言及は:

ユーザーがHTMLマークアップ、さらにはJavaScriptコードをページ、投稿、コメント、ウィジェットに投稿することを許可します。

JavaScriptは管理者以外のユーザーには除外されていますが、どのHTMLが除外されていますか?

そしてunfiltered_uploadの場合:

この機能は、デフォルトではどの役割にも使用できません(スーパー管理者を含む)。次の定数を定義して機能を有効にする必要があります。

define( 'ALLOW_UNFILTERED_UPLOADS', true );

この定数を定義すると、単一サイトインストールのすべての役割にunfiltered_upload機能を割り当てることができますが、マルチサイトインストールの機能を許可できるのはスーパー管理者だけです。

繰り返しになりますが、説明には許可されているものと除外されているものの詳細は記載されていません。

unfiltered_htmlおよびunfiltered_upload機能が許可または禁止する要素、コード、またはファイルの種類を正確に教えてもらえますか。

7
j08691

exact answerを思いつくことは難しいです。能力はしばしばそれらが暗示するよりも広く使われているからです。例えば、manage_optionsのチェックは通常adminユーザーのチェックと同義語であり、実際には options とはあまり関係ないコンテキストで登場する可能性があります。

通常 件名の内容の合格/不合格の違いになります wp_kses() 。特定のkses設定と許可されていると考えられるものは文脈に依存するでしょうそして用心深いかもしれません。

私が覚えている限りでは、unfiltered_uploadのほうがもっと簡単です。それがなければホワイトリストに載っているファイルタイプだけが許されます。リストは wp_get_mime_types() に基づいています。

6
Rarst

これは古いスレッドですが、制限のあるunfiltered_htmlがニュースサイトで大きな問題を引き起こしていました。

社内の作家(ユーザーの特別なクラス)は彼らの物語の中に写真やビデオを配置する必要があります。写真は問題になりませんが、ビデオコードを埋め込んだ状態でページにiframeを埋め込むと、ストーリーを保存したときに埋め込まれたコードが消えてしまいます。

ビデオが編集者によって埋め込まれていたとしても、作家はストーリーを保存したときにiframeを失うことになります。

Unfiltered_htmlのブロックを解除することで、スタッフライターはビデオコンテンツを埋め込み、投稿を正しく作成できます。

Unfiltered_uploadsに関しては、私はそれが答えられたと思います。

これが誰かに役立つことを願っています。

3
John Le Fevre