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


8

WordPressの機能にunfiltered_html、とがありますunfiltered_upload、フィルタリングで具体的に何が許可または禁止されているかについてのドキュメントはまだ見つかっていません。

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

ユーザーがページ、投稿、コメント、ウィジェットにHTMLマークアップまたはJavaScriptコードを投稿できるようにします。

JavaScriptが管理者以外のユーザーに対して除外されているのを見てきましたが、どのHTMLが除外されていますか?

そしてのためにunfiltered_upload

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

define( 'ALLOW_UNFILTERED_UPLOADS', true );

この定数を定義すると、単一サイトインストールのすべてのロールにunfiltered_upload機能を付与できますが、マルチサイトインストールの機能を付与できるのは特権管理者のみです。

また、説明では、許可されているものと除外されているものを詳しく説明していません。

誰かがどの要素、コード、またはファイルの種類unfiltered_htmlunfiltered_upload機能で許可または禁止されているかを正確に教えてもらえますか?

回答:


7

多くの場合、機能は実際よりも広く使用されているため、正確な答えを出すのは困難です。たとえば、check for manage_optionsは通常、管理ユーザーをチェックする同義語であり、実際にはオプションとはあまり関係のないコンテキストで発生する可能性があります

通常は、対象コンテンツが通過するか通過しないかの違いになりますwp_kses()。特定のkses設定および許可されていると見なされるものは、コンテキストによって異なり、注意が必要です。

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


1
ファイルwp-includes/kses.phpには、kses関数で使用される$allowedposttags$allowedtags配列の初期値があります。
ミロ

説明ありがとう。アップロードのMIMEタイプはcore.trac.wordpress.org/browser/tags/4.3/src/wp-includes/…にあります。参照するコードがどこにあるのunfiltered_htmlか、何か考えはありますか?
j08691 2015

unfiltered_htmlコードベース全体に飛び散っています。それについて言及しているダースの異なるファイルを超えるクイックソース検索ネット。
Rarst、2015

誰かがこれに取り組むことができますか?現在、ホワイトリストに登録されていないメディアをアップロードすることは不可能です。プラグインはどれも正しく機能しません。WordpressはCMSです。そうです。コンテンツMIS管理システムです。
ジムマグワイア

1
この質問は文字通り私たちの命を救ってくれました。広まった問題の解決策を何日も探していました。アクティブなスクリプトとSVGファイルで投稿を生成している顧客が操作する必要があるカスタム投稿タイプがあり、 、問題は投稿を保存することではありませんでした。問題は、WPが投稿を完全に削除していることです。これは私たちに正しい方向性とcap使用する権利を与えてくれました。感謝
Kresimir Pendic '12

4

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

社内のライター(特別なクラスのユーザー)は、ストーリーに写真やビデオを配置する必要があります。写真は問題ありませんが、ビデオコードが埋め込まれたページにiframeを埋め込むと、ストーリーを保存するときに埋め込まれたコードが消えます。

編集者がビデオを埋め込んだ場合、ライターがストーリーを保存したときにiframeが失われます。

unfiltered_htmlのブロックを解除することにより、スタッフライターはビデオコンテンツを埋め込み、投稿を適切にレイアップできます。

unfiltered_uploadsに関しては、回答されていると思います。

これが誰かを助けることを願っています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.