Link parziali in uscita -> https (al volo)? - NON http

C’è un modo in cui il back-end può trasformare tutti i link parziali nei post (example.com) in link https (https://www.example.com)??

Sembra che vengano trasformati in link http://, il che porta a un sacco di problemi quando le richieste in uscita http://example.com falliscono per molti utenti che cliccano dal post.

(Oppure, controllare l’indirizzo di destinazione generato e correggere il protocollo corretto per arrivarci?)

Grazie, prima domanda, scusa se è una ripetizione ma non riesco a trovare nulla di conciso su questo.
mitch

1 Mi Piace

Sembra che sia ora di rendere i link https la predefinita. Questa potrebbe essere una richiesta di funzionalità.

Per favore, no. Ci sono molti siti che utilizzano http, perché semplicemente non necessitano di SSL.

Sarebbe un altro lavoro occasionale per ricerca e sostituzione? O sto fraintendendo tutto di nuovo?

attacco di panico irrazionale

Inoltre, mi preoccupo di una situazione limite in cui Discourse utilizza il proprio VPS e davanti ad esso c’è un altro VPS con un proxy inverso. Questi comunicheranno tra loro senza SSL abbastanza spesso.

Ma è una situazione totalmente diversa, vero? Ma inizio a essere un po’ nervoso ogni volta che c’è qualcosa di predefinito che può cambiare per me le abbreviazioni familiari…

Penso che tu abbia torto sul fatto che quei siti non abbiano bisogno di https. Non ci sono scuse per non rendere sicuro il tuo sito ora.

Ma sembra che io abbia torto sul fatto che questa dovrebbe essere una richiesta di funzionalità. Il browser, piuttosto che discourse, dovrebbe gestire l’imposizione di https.

Sono abbastanza sicuro che i browser moderni di default diano priorità a HTTPS rispetto a HTTP.
Inoltre, molti siti web lato server reindirizzano a HTTPS o utilizzano l’header HSTS.

2 Mi Piace

Non penso di sbagliarmi quando parliamo di realtà.

La necessità di proteggere le connessioni tra server utilizzando SSL quando i dati non includono nulla che necessiti di protezione è degna di un altro argomento. Ma qui è totalmente fuori tema.

Ma dire agli utenti che, mi dispiace, non puoi collegarti perché una terza parte non utilizza la porta 443 è semplicemente una cattiva idea. Non è compito dell’amministratore né di Discourse dire cosa qualcuno dovrebbe o deve fare.

Sì, se c’è. E alcuni router/modem domestici sono configurati per utilizzare solo https e questo è davvero fastidioso. Perché non tutti i siti seguono il desiderio di Google di utilizzare SSL ovunque e in parte perché così tante piattaforme servono vecchi link usando http e quelle stupide scatole non possono riscrivere gli URL.

Quindi, prima di ogni discussione sulle funzionalità, dovrebbe esserci un altro meta-argomento: è responsabilità della piattaforma del forum forzare l’uso di SSL per i link in uscita.

Dopodiché la soluzione tecnica è ragionevolmente semplice, credo, ma di nuovo, non sono uno sviluppatore.

Ma tornando all’argomento.

Quindi la ricerca e sostituzione non è una soluzione acuta? Ma non capisco ora… di nuovo… il vero problema è come Discourse forma automaticamente i link se viene data solo una semplice URL? Se è così, allora mi ritiro un po’ e sì, automaticamente dovrebbe esserci https, ma deve essere modificabile.

Verifica se http (e https com uma função semelhante) é possível, usando apenas o cabeçalho da página de destino, código copiado de:

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

Então, com isso (traduzido para Ruby, se me lembro bem), o back-end do Discourse poderia descobrir se o destino de um link parcial fornecido em uma postagem é https ou http, então (com preferência por https) abrir o link de destino correto para o usuário?