Discourseがリンクにアクセスしないように強制する

こんにちは、

API を使用して PM を作成しています。コンテンツには HTML やリンクを含めることができます。その中のいくつかのリンクは、ワンクリックアクションリンクです。基本的なリンクの例:<a href="https://" target="_blank">..</a>

問題は、Discourse がすべてのリンクを訪問し、それらのワンクリックアクションをトリガーしてしまうことです。

それを防ぐ方法はありますか?どの機能 responsible なのかよくわかりません。
Discourse にリンクを無視させるように伝える HTML に挿入できるヒントのようなものはありますか?
それとも見落としているオプションはありますか?

注:現在はバックエンド側で Discourse の訪問を無視するチェックを追加していますが、可能であればこの方法に依存したくないと考えています。

ありがとうございます!

リンクを単にアクセスするだけでアクションを実行するコードを書くべきではありません。これはさまざまな方法で悪用可能と広く考えられています。ユーザーはアクションを明示的に確認する必要があります。

コンテキストは、基本的にユーザーが通知を購読し、法的な理由により、現在の通知またはすべての通知の購読を解除するためのリンクを追加することが義務付けられているという点です。これらの特定のリンクは、ログインや確認などの追加ステップを踏むことなく、ワンクリックで実行できるものでなければなりません。これらのリンクは生成されたトークンを使用しており、悪用することはできません。ユーザーは、Discourse や Gmail などのプライベートな受信トレイで、これらのリンクを含むメッセージを表示します。この場合、確認は不要であり、役立ちません。

私の質問は依然として有効です。HTML やオプションを通じて、Discourse にリンクにアクセスしないように指示する方法はありますか?

コンテキストに関わらず、これは実際に興味深いことです。もしそのような機能が存在しない場合、不要なリクエストを避けるためにドメインや URL をブラックリスト化するオプションがあれば、非常に歓迎されるでしょう。

繰り返しますが、それはできません。ページ上で遭遇するリンクを事前に訪問・プリロードするブラウザ(拡張機能)やウイルススキャナーも存在します。

HTTP 仕様によれば、サーバー上で実際の変更を引き起こすリクエストは POST リクエストでなければなりません。したがって、リンクがある場合は、POST リクエストを実行するボタンを含む Web ページに誘導する必要があります。それ以外の方法では、不明確な問題が発生します。

誰がそう言っているのでしょうか?上記の理由により、購読解除リンクが確認用 Web ページに誘導されるのは非常に一般的です。

それは非常に説得力のある理由ですね。その点は考えていませんでした。:thinking:

まず第一に、私のクライアントです。:smile:
実際、最初はフォームを作成しましたが、彼はワンクリックで動作するリンクを希望しました。

しかし、あなたは非常に妥当な指摘をしてくれました。そのことに感謝します!