ユーザーを制御する:

皆さん、こんにちは。

特定のユーザーが iframe (最も明白なのは埋め込みビデオ用) を使用することを許可/拒否するように制御することは可能ですか?

追記:自分で読み返しているうちに時間がかかりました。技術的に非常に困難でほぼ不可能である場合、少なくとも スタッフ 対 それ以外の全員、あるいは 信頼レベル ごとに設定してください。

そして、私は完全に初心者なので、Discourse 内でのユーザーの「権限」の他の側面にも同じ/同様の質問が当てはまります。それらをカバーするマニュアルページはありますか?

StravaとGarminのワンボックスを見つけてiframeに置き換えるテーマコンポーネントを作成しました。サポートしたい動画サイトの数が決まっている場合は、同様のソリューションが機能する可能性があります。

「いいね!」 1

@pfaffman さん、あなたの返信は私の質問と関係がありますか?

Discourseで「通常の」管理手段で、iframe(またはonebox、あるいは最も適切な技術用語)の使用(取り込み、レンダリングなど)を許可/禁止することは可能かどうかを尋ねているだけです。

返信で、再利用できるコードがあるという意味であれば、それは私のようなウェブ開発者ではない者向けではありません。

しかし、@devel さんがここを読んでいるなら――Discourseを使い始めたばかりですが、多くのシステムで長年管理者をしてきました――疑問に思うことがあります。

  • ユーザーの「自由」という「哲学的な」側面から、あらゆるコンテンツ(ここでは純粋に動画に限定しましょう)を含めることをどのように決定しましたか?

私の考えでは、埋め込み動画コンテンツのようにクリティカルなもの――それ自体のホスト/プロバイダーでさえ100%制御できないもの――は、私が知るすべての異なるコンピュータシステムがそのようなクリティカルな機能を扱うように、ユーザー/グループごとに細かく制御されるべき(または、されなければならない)です。

そのため、もしDiscourseがまだ検討しておらず、今日現在そのような制御能力が存在しないのであれば、将来の拡張機能として、そのような「強化」メカニズム/技術を含めることを提案したいと思います。Discourseは明らかに素晴らしいソフトウェアですが、さらに良くなるでしょう。多くの人がこの優れたソフトソリューションに感謝するでしょう。

「いいね!」 1

デフォルトでは、Discourseはユーザーが投稿にほとんどのiframe要素を挿入することを許可しません。これは、allowed iframesサイト設定によって制御されます。この設定は、投稿に追加できるiframeのsrcドメインのリストを受け入れます。

ただし、ユーザーの権限に基づいてどのiframeを追加できるかを制御する方法はありません。staff allowed iframesという設定はありません。

ほとんどの場合、Discourseは「onebox」で外部コンテンツの埋め込みを処理します。これにより、ユーザーは投稿にリンクを挿入できます。場合によっては、Discourseはこれらのリンクをiframeに変換します。たとえば、投稿エディタの独自の行にYouTube動画へのリンクが追加されると、iframeに表示されるビデオ要素に変換されます。このように処理されるドメインは限られています。たとえば、Vimeo、YouTubeなどです。

allowed onebox iframesサイト設定を使用して、iframe oneboxを取得するドメインを制限できます。この設定のデフォルト値は*です。これを制限したい場合は、その設定の下に表示されるドロップダウン入力をクリックします。これにより、Discourseがiframeとしてoneboxするように構成されているドメインのリストから特定のドメインを選択できます。

「いいね!」 3

@simonによる回答を補足し、この特定の点に対処するために、max oneboxes per postを0に設定してoneboxing全体を無効にすることができます。これにより、YoutubeやVimeoなどの動画コンテンツも無効になります。

「いいね!」 2

もしそのパラメータ/値が「ユーザーごとの値」によって補完および上書きされる可能性がある場合(これも将来の開発/リリースで)、多くの人が大いに感謝すると思います。ありがとうございます。

私には機能しないようです。0 に設定しても、ユーザーが作成した iframes を含む投稿は、フレーム/プレーヤーとして表示され、問題なく再生されます。
これを上書きする別のパラメータ/オプションはありますか?
また、このコンテキストでの 許可された iframes はどのように理解すればよいですか?

「1投稿あたりの最大ワンボックス数」設定は、投稿に追加できるワンボックスの数を制御します。ここでの専門用語は紛らわしいかもしれませんが、「ワンボックス」は、Discourse がさまざまなソースからのリンクを処理する方法です。たとえば、YouTube または Vimeo 動画のブラウザのアドレスバーからのリンクが投稿の独自の行に追加された場合、Discourse はリンクのワンボックス動画プレーヤーを生成します。

「1投稿あたりの最大ワンボックス数」を 0 に設定すると、ユーザーはこれらのタイプのワンボックスを作成できなくなります。

ここで見つけているのは、この設定ではユーザーが投稿に iframe 要素を追加することを防げないということだと思います。ユーザーが投稿に iframe を追加できないようにするには、サイトの「許可される iframe」サイト設定にリストされている iframe ソースを削除してください。以下はこの設定の既定値です。

@simon - わかりました、ありがとうございます。そのようですね。今ならそこで何が起こるのか、よりよく理解できると思います。URI に iframe が存在する場合、max oneboxes per post = 0iframes には何も意味しないということです。
はい、新参者にとって役立つように、命名法や説明は改善できるでしょう。

繰り返しますが、onebox や iframe を管理者/モデレーターのみに許可することはできません。正しいですか?

サイモンがすでに回答したと思います。

「いいね!」 1

@Lilly は、将来のリリースで 機能リクエスト にすることはできますか?よろしくお願いします。このように強化された Discourse は、多くの人に感謝されると思います。

これを実際にリクエストしたユーザーは何人いますか?必要であれば、この機能リクエストを自分で作成することもできます。

ユーザーではなく、管理者である私です。数投稿前に私の根拠をできる限り説明しました。