Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 14855|Risposta: 2

[Conoscenza sulla costruzione di siti web] Informazioni su Discuz! (X3.1) Come abilitare la crittografia https

[Copiato link]
Pubblicato su 30/05/2015 23:42:13 | | |
I tempi sono in costante evoluzione e la nostra domanda di comunicazioni sicure è in aumento. In Discuz X3 si dice che https sia supportato, quindi dopo aver ottenuto il certificato SSL, ho aggiunto SSL al sito non appena l'ho ricevuto. Ma dopo averlo aggiunto, ho scoperto che molti posti non usavano link https, così ho iniziato a controllare il codice sorgente di Discuz per vedere cosa fosse andato storto.
1. Certificato SSL e configurazione
Prima di tutto, per abilitare l'SSL, devi avere un certificato, giusto? Che sia emessa da un CA ordinario o firmata da se stessi, non è possibile non avere certezze. Se no, fai prima domanda per uno. (Per favore, cerca su Google il metodo specifico, non entrerò nei dettagli qui)
2、Discuz! Ottimizzato2.1. Aggiustamento della procedura
Da Discuz! X3 ha aggiunto il supporto per https, e se usi https per accedere al forum, i link nel forum diventeranno https. Se scopri che la maggior parte dei link usa già https, significa che Discuz lo ha riconosciuto automaticamente e puoi saltare questo passaggio e passare direttamente al successivo.
Discuz usa $_SERVER['HTTPS'] per giudicare SSL, ma a causa del mio problema di architettura VPS (nginx+php-fpm), non può essere riconosciuto in questo modo, quindi devo apportare alcune modifiche al programma Discuz (usando $_SERVER['SERVER_PORT']).
Fonte/Classe/Disposizione/discuz_application.php (circa riga 187):
Scopri:
  1. $_G['isHTTPS'] = ($_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
Copia codice
Modificato in:
  1. $_G['isHTTPS'] = ($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
Copia codice
uc_server/avatar.php (approssimativamente riga 13):
Scopri:
  1. define('UC_API', strtolower(($_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
Copia codice
Modificato in:
  1. define('UC_API', strtolower(($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
Copia codice
Dopo la modifica, ho aggiornato la cache e ho scoperto che la maggior parte dei link è diventata https.
2.2. Impostazioni di background
Ci sono anche impostazioni in background che possono interferire con l'uso di https
In background, il >webmaster > UCenter imposta l'indirizzo di accesso > UCenter, che viene modificato per iniziare con https
UCenter > Gestione delle Applicazioni > L'URL principale dell'applicazione viene modificato per iniziare con https
Inoltre, alcune impostazioni in background > impostazioni globali > nomi di dominio potrebbero invalidare https; se hai seguito i passaggi precedenti e non riesci ancora ad attivarli, puoi eliminare temporaneamente le impostazioni qui per provare.
3. Svuota la cache
Dopo aver completato le impostazioni, devi svuotare la cache affinché le impostazioni entrino in gioco.
Pulisci la cache e la cache di memoria, e se imposti la post cache, devi pulire la cache nel database (svuotare il database corrispondente o aspettare che la cache guasti).
A questo punto, Discuz https è abilitato con successo e, naturalmente, accedendo ad alcune pagine, il blocco può essere incrociato. Perché altri contenuti http vengono caricati nella pagina. Possono trattarsi di codici statistici, codici di condivisione QQ, avatar di QQ show, ecc., che al momento non forniscono protocollo https, quindi non possono essere abilitati. Aspetta solo che Discuz supporti ulteriormente https.





Precedente:Collezione Nuovi Prodotti della Conferenza Google I/O 2015
Prossimo:L'autoavvio Nginx fallì
Pubblicato su 01/06/2015 17:05:36 |
Il forum vuole abilitare la tecnologia di trasmissione cifrata SSL
Pubblicato su 03/01/2018 13:57:42 |
Diretto $_G['isHTTPS'] = vero;
define('UC_API', strtolower('https://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com