タグ付けされたトピックに著作権保護を追加

こんにちは。

多くのメンバーが質の高いトピックやブログ記事などを投稿しています。残念ながら、他の人がそれらを(出典を明記せずに)自分のものとして公開するために盗んでいます。作者がはっきりと「このサイトにのみ書いています。盗まないでください。このコンテンツを使用したい場合は、事前に私に連絡してください」と書いていてもです。作者が新しい質の高いコンテンツを作成する意欲を失っているため、何か対策を講じる必要がありました。多くの訪問者がフォーラムの外からこれらのコンテンツを読んでいるため、フォーラムを(非公開の)閉鎖的なものにしたくはありません。

インターネット上では、著作権で保護されたコンテンツに対する100%の解決策はないことは承知していますが、それをより困難にしたり、コンテンツの盗難をより難しくすることはできます。これは時間の無駄のように見えるかもしれませんが、単純なテキストの選択とコピーが機能しない場合、多くの泥棒は諦めます。

私たちは「コピー保護」タグを使用し、このDisable right click on image lightbox - #7 by awesomerobot を再利用しています。

すべてのメンバーに、トピックに「#copy-protected」タグを追加するオプションを提供しています。
このタグにはいくつかの機能があります。

  • 右クリックを無効にします(最初の投稿OPコンテンツ全体 .cooked クラス)。
  • コピーとカットを無効にします(最初の投稿OPコンテンツ全体 .cooked クラス)。
  • 匿名ユーザー(未登録の訪問者)の場合、テキストの選択を無効にします(最初の投稿OPコンテンツ全体 .cooked クラス)。
  • トピックタイトルのセクションの上に「著作権保護されたコンテンツ」という注記を追加します。

1. これはヘッダーで使用しているコードです。 作者がトピックに著作権タグを追加すると有効になります。

<script type="text/discourse-plugin" version="0.8">
const TopicRoute = require("discourse/routes/topic").default;

TopicRoute.reopen({
  activate: function() {
    this._super();
    Em.run.next(function() {
      // 右クリックを無効にする
      $('.tag-copy-protected #post_1 .cooked').on('contextmenu', function(e) { return false; });
      // コピーとカットを無効にする
      $('.tag-copy-protected #post_1 .cooked').bind('cut copy', function (e) { e.preventDefault(); });
    });
  }
});
</script>

2. 匿名ユーザー(未登録の訪問者)のために、追加のレイヤーとしてテキスト選択を無効にします。 一般設定でCSSを使用しています。

.anon {
  .tag-copy-protected {
    #post_1 .cooked {
      -webkit-user-select: none;
      -khtml-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      -o-user-select: none;
      user-select: none;
    }
  }
}

3. トピックタイトルのセクションの上に、小さな赤い通知も追加しています。これは「このコンテンツは作者によって著作権保護されています!」と表示されます。

.tag-copy-protected #topic-title .title-wrapper {
  &:before {
    content: 'This content has been copyright-protected by the author!';
    color: #e40202;
  }
}

4. サイト設定の「匿名ユーザーによるファイルのダウンロードを防止する」を使用し、メンバーのみがファイルをダウンロードできるようにしています。


これがこの問題に対処するために行ったことです。作者はこの解決策に満足しており、私たちが彼らを気遣い、感謝していることを喜んでいます。:slightly_smiling_face: :heart: これが少しでも役立ち、期待される結果をもたらすことを願っています。:crossed_fingers:

「いいね!」 18

素晴らしい仕事ぶりですね!

これをテーマコンポーネントとしてパッケージ化する絶好の機会のようですね。

「いいね!」 4

ロバートさん、ありがとうございます! :slightly_smiling_face:

はい、テーマコンポーネントは素晴らしいアイデアですね!もしよろしければ、お時間のある時に作成していただけると幸いです :slightly_smiling_face:

「いいね!」 3

喜んでお手伝いさせていただきます。Pavilionでホストおよびサポートでき、著者としてAwesomerobotとあなたにクレジットを記載します。

現在の私の焦点は、プラグインとTCのEmber-CLI互換性の取得、およびいくつかのバグの修正ですが、次にこれに取り組むことができます。

テストのためにプライベートメッセージをお送りします。

後で、オンとオフを切り替えることが役立つ場合は、設定を追加できるかもしれませんか?特定のタグなどを選択する設定を追加できるかもしれません。

TCとしてこれが役立つ他の人がいるかもしれません(@davidkingham?)

「いいね!」 6

これは他の人が使えるTCとして素晴らしいアイデアだと思います。すでに持っている右クリック保護以外の追加機能は必要ありません。

「いいね!」 2

うまくいきません。

もう少し詳しく説明していただけますか?確認したところ、期待どおりに動作しました。テーマコンポーネントを作成して、より使いやすくする予定です。:slightly_smiling_face:

「いいね!」 1

それは素晴らしいでしょう。デフォルトのDiscourseテーマを使用していないため、どちらのテーマでも機能しませんでした。コンポーネントが良いアイデアになるでしょう。ありがとうございます!

「いいね!」 1

これをコンポーネントとして読み込めるようにコードを変更しました。ローディングスピナーとの互換性がそれほど高くなかったのですが、これで問題が解決することを願っています。bodyのクラスリストが更新されたときに壊れたのだと思います。

いくつかの設定を追加しました。


こちらで見つけることができます。

「いいね!」 4

完璧に動作しますが、訪問者は写真を開いたり保存したりできます。それ以外はすべて正常に動作します。

「いいね!」 1

動画にダウンロード用の3つのドットが表示されます。ダウンロードを無効にして表示のみにしたいのですが… https://discourse.fotografos.online/t/fotografia-como-aumentar-a-percepcao-de-valor/223449 「匿名ユーザーによるファイルのダウンロードを防止する」をチェックしましたが、機能しませんでした…。何かアイデアはありますか? @jaymf またはサポートチャンネルの他のメンバーの方? どうもありがとうございます!

こんにちは。

動画のダウンロードを無効にするための、素早くハックな解決策を以下に示します。

これを「Common / Header」に貼り付けてください。

動画コントロールからダウンロードボタンのみを無効にしたい場合は、こちらを使用してください。

<script type="text/discourse-plugin" version="0.8">
  api.decorateCooked(
    $elem => $elem.find('video').attr('controlsList', 'nodownload'),
    { id: 'disable-video-download-button' }
  );
</script>

動画コントロールからダウンロードボタンを無効にし、動画での右クリック(コンテキストメニュー)も無効にしたい場合は、こちらを使用してください。これにより、右クリックまたはコンテキストメニューからのロングタップ(モバイル)による動画のダウンロードを防ぐことができます。

<script type="text/discourse-plugin" version="0.8">
  api.decorateCooked(
    $elem => $elem.find('video')
    // コントロールからダウンロードボタンを無効にする
    .attr('controlsList', 'nodownload')
    // 右クリックコンテキストメニューを無効にする
    .on('contextmenu', function(e) {
      e.preventDefault()
    }),
    { id: 'disable-video-download' }
  );
</script>
「いいね!」 1

それはどうすれば機能するのでしょうか? 技術的には、動画が表示される前にダウンロードする必要がありますが、ダウンロードボタンを削除するという意味であっても、iPhone や iPad では動画をクリックするとダウンロード(名前を付けて保存)するか表示するかを尋ねられます。

ネットワークタブからURLを取得し、wgetに渡すこともできます。

これは見事に機能しました!本当にありがとうございます!プレミアムコンテンツをロックすることになり、これは完璧に機能するでしょう!

「いいね!」 2