mitchd
(Mitch D)
1
バックエンドで、投稿内のすべての部分的なリンク(example.com)をhttpsリンク(https://www.example.com)に変換する方法はありますか?
http://リンクとして作成されているようで、多くのユーザーが投稿からクリックした際にhttp://example.comへの送信リクエストが失敗すると、さまざまな問題が発生します。
(または、生成されたターゲットアドレスを確認し、そこに到達するために正しいプロトコルに修正しますか?)
ありがとうございます。最初の質問です。簡潔にまとめられたものが見つけられなかったので、もし重複していたら申し訳ありません。
mitch
「いいね!」 1
pfaffman
(Jay Pfaffman)
2
リンクをデフォルトでhttpsにする時期のようです。これは機能リクエストかもしれません。
Jagster
(Jakke Lehtonen)
3
いいえ、やめてください。SSLを必要としないHTTPを使用しているサイトがたくさんあります。
これは検索と置換の別の簡単な作業になりますか?それとも、私は再びすべてを誤解していますか?
不合理なパニック発作
さらに、Discourseが独自のVPSを使用し、その前面にリバースプロキシがあるエッジ状況を心配しています。これらはしばしばSSLなしで互いに通信します。
しかし、それはまったく別の状況ですよね?しかし、デフォルトで私にとって馴染みのある略語を変更できるものがあるたびに、少し神経質になり始めています…
pfaffman
(Jay Pfaffman)
4
HTTPSが不要だというあなたの考えは間違っていると思います。今、あなたのサイトを安全にしない言い訳はありません。
しかし、これは機能リクエストであるべきだという私の考えは間違っていたようです。HTTPSを強制するのは、Discourseではなくブラウザが処理すべきです。
モダンブラウザはデフォルトでHTTPSをHTTPより優先していると確信しています。
また、多くのウェブサイトでは、サーバーサイドでHTTPSへのリダイレクトを行うか、HSTSヘッダーを使用しています。
「いいね!」 2
Jagster
(Jakke Lehtonen)
6
現実の話をしているので、私は間違っているとは思っていません。
データに保護が必要なものを含まない場合に、SSLを使用してサーバー間の接続を保護する必要性は、別のトピックに値します。しかし、ここでは完全にトピックから外れています。
しかし、ユーザーに、申し訳ありませんが、サードパーティがポート443を使用していないためリンクできません、と言うのは悪い考えです。誰かが何をすべきか、またはすべきでないかを言うのは、管理者でもDiscourseでさえありません。
はい、もしあれば。そして、一部の家庭用ルーター/モデムはHTTPSのみを使用するように設定されており、それは本当に迷惑です。すべてのサイトがGoogleの「どこでもSSLを使用する」という考えに従っているわけではなく、また、多くのプラットフォームがHTTPを使用して古いリンクを提供しており、それらの愚かなボックスはURLを書き換えることができないためです。
したがって、機能の議論の前に、別のメタトピックが必要です。フォーラムプラットフォームは、アウトバウンドリンクにSSLを使用することを強制する責任があるのでしょうか。
その後、技術的な解決策はかなり簡単だと思います—しかし、再び、私は開発者ではありません。
しかし、トピックに戻りましょう。
では、検索と置換は緊急の解決策ではありませんか?しかし、私は今、フォローしていません… 再び… Discourseは、プレーンなURLが与えられた場合にリンクを自動的に形成するというのが本当の問題ですか?もしそうなら、私は少し後退し、はい、自動的にHTTPSであるべきです—しかし、編集可能でなければなりません。
mitchd
(Mitch D)
7
ターゲットページの先頭部分のみを使用して、http(および同様の機能を持つhttps)が可能かどうかを確認します。コードは以下からコピーしました。
def check_http_url(url):
HTTP_URL = f'http://{url}'
try:
HTTP_URL = urlparse(HTTP_URL)
connection = HTTPConnection(HTTP_URL.netloc)
connection.request('HEAD', HTTP_URL.path)
if connection.getresponse():
return True
else:
return False
except:
return False
それで(私の記憶が正しければRubyに翻訳された)、Discourseのバックエンドは、投稿で与えられた部分的なリンクのターゲットがhttpsまたはhttpであるかどうかを知ることができ、次に(httpsを優先して)ユーザーのために正しいターゲットリンクを開くことができるでしょうか?