Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 14855|Svare: 2

[Kunnskap om nettsidebygging] Om Discuz! (X3.1) Hvordan aktivere https-kryptering

[Kopier lenke]
Publisert på 30.05.2015 23:42:13 | | |
Tidene endrer seg stadig, og vårt behov for sikker kommunikasjon øker. På Discuz X3 står det at https støttes, så etter at jeg fikk SSL-sertifikatet, la jeg til SSL på nettsiden så snart jeg fikk det. Men etter å ha lagt det til, oppdaget jeg at mange steder ikke brukte https-lenker, så jeg begynte å sjekke Discuz-kildekoden for å se hva som gikk galt.
1. SSL-sertifikat og konfigurasjon
Først og fremst, for å aktivere SSL, må du ha et sertifikat, ikke sant? Om det er utstedt av en vanlig CA eller signert av en selv, er det ikke mulig å ha noen sikkerhet. Hvis ikke, søk først om en. (Vennligst google den spesifikke metoden, jeg går ikke i detalj her)
2、Discuz! Optimalisert2.1. Prosedyrejustering
Fra Discuz! X3 har lagt til støtte for https, og hvis du bruker https for å få tilgang til forumet, vil lenkene i forumet bli https. Hvis du oppdager at de fleste lenkene allerede bruker https, betyr det at Discuz automatisk har gjenkjent det, og du kan hoppe over dette steget og gå direkte til neste steg.
Discuz bruker $_SERVER['HTTPS'] for å vurdere SSL, men på grunn av mitt VPS-arkitekturproblem (nginx+php-fpm) kan det ikke gjenkjennes på denne måten, så jeg må gjøre noen justeringer i Discuz-programmet (med $_SERVER['SERVER_PORT']).
kilde/klasse/diskus/discuz_application.php (ca. linje 187):
Finn:
  1. $_G['isHTTPS'] = ($_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
Kopier koden
Modifisert til:
  1. $_G['isHTTPS'] = ($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
Kopier koden
uc_server/avatar.php (ca. linje 13):
Finn:
  1. define('UC_API', strtolower(($_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
Kopier koden
Modifisert til:
  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'], '/'))));
Kopier koden
Etter endringen oppdaterte jeg cachen og fant ut at de fleste lenkene ble https.
2.2. Bakgrunnsinnstillinger
Det finnes også innstillinger i bakgrunnen som kan forstyrre bruken av https
I bakgrunnen setter >webmasteren > UCenter > UCenter-tilgangsadressen, som endres til å starte med https
UCenter > Application Management > Hoved-URL-en til applikasjonen er endret til å starte med https
I tillegg kan noen innstillinger i bakgrunnen > globale > domenenavnsinnstillinger også ugyldiggjøre https; hvis du har tatt de forrige stegene og fortsatt ikke kan aktivere det, kan du midlertidig slette innstillingene her for å prøve.
3. Tøm cachen
Når innstillingene er fullført, må du tømme cachen for at innstillingene skal tre i kraft.
Rens cachen og minnecachen, og hvis du setter postcachen, må du rense cachen i databasen (tømme den tilsvarende cache-databasen, eller vente til cachen feiler).
På dette tidspunktet er Discuz https vellykket aktivert, og selvfølgelig, når man åpner noen sider, kan låsen bli krysset. Fordi annet http-innhold lastes inn på siden. Det kan være statistikkkoder, QQ-delingskoder, QQ-visningsavatarer osv., som foreløpig ikke tilbyr https-protokoll, så de kan ikke aktiveres. Bare vent på at Discuz skal støtte https videre.





Foregående:2015 Google I/O-konferanse Ny produktkolleksjon
Neste:Nginx selvoppstart mislyktes
Publisert på 01.06.2015 17:05:36 |
Forumet ønsker å muliggjøre SSL-kryptert overføringsteknologi
Publisert på 03.01.2018 13:57:42 |
Direct $_G['isHTTPS'] = true;
define('UC_API', strtolower('https://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com