|
Ajad muutuvad pidevalt ja meie nõudlus turvalise suhtluse järele kasvab. Discuz X3-s öeldakse, et https on toetatud, nii et pärast SSL-sertifikaadi saamist lisasin SSL-i kohe, kui selle sain. Kuid pärast lisamist avastasin, et paljudes kohtades ei kasutata https-linke, nii et hakkasin kontrollima Discuzi lähtekoodi, et näha, mis valesti läks. 1. SSL-sertifikaat ja konfiguratsioonEsiteks, SSL-i lubamiseks peab sul olema sertifikaat, eks? Kas see on väljastatud tavapärase CA poolt või allkirjastatud tema enda poolt, ei saa olla kindel. Kui ei, siis taotle esmalt ühte. (Palun googeldage konkreetne meetod, ma ei hakka siin üksikasjadesse laskuma) 2、Discuz! Optimeeritud2.1. Protseduuri kohandamineDiscuzilt! X3 on lisanud https-i toe ja kui kasutad https-i foorumisse pääsemiseks, muutuvad foorumi lingid https-iks. Kui leiad, et enamik linke kasutab juba https-i, tähendab see, et Discuz on selle automaatselt ära tundnud ja saad selle sammu vahele jätta ning minna otse järgmisse sammu. Discuz kasutab $_SERVER['HTTPS'] SSL-i hindamiseks, kuid minu VPS arhitektuuri probleemi (nginx+php-fpm) tõttu ei saa seda nii ära tunda, seega pean tegema Discuzi programmi muudatusi (kasutades $_SERVER['SERVER_PORT']). allikas/klass/discuz/discuz_application.php (c. rida 187): Leia: - $_G['isHTTPS'] = ($_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
Kopeeri koodMuudetud kujul: - $_G['isHTTPS'] = ($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
Kopeeri kooduc_server/avatar.php (ligikaudu rida 13): Leia: - define('UC_API', strtolower(($_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
Kopeeri koodMuudetud kujul: - 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'], '/'))));
Kopeeri koodPärast muudatust uuendasin vahemälu ja avastasin, et enamik linke muutus https-iks. 2.2. TaustaseadedTaustal on ka seadeid, mis võivad segada https-i kasutamist Taustal määrab >veebimeister > UCenter > UCenter ligipääsuaadressi, mis muudetakse algama https-iga UCenter > rakenduse haldus > Rakenduse peamine URL muudetakse nii, et algab https-iga Lisaks võivad taustal olevad > globaalsed > domeeninime seaded https-i kehtetuks muuta – kui oled eelnevad sammud teinud ja ikka ei saa seda lubada, saad siit seaded ajutiselt kustutada ja proovida. 3. Tühjenda vahemäluKui seaded on tehtud, pead vahemälu tühjendama, et seaded jõustuksid. Puhasta vahemälu ja mäluvahemälu ning kui seadistad post-cache'i, pead selle andmebaasis puhastama (tühjenda vastav vahemälu andmebaas või oodata, kuni vahemälu ebaõnnestub). Sel hetkel on Discuz https edukalt lubatud ja muidugi võib mõnele lehele pääsedes lukk ületada. Sest lehele laaditakse ka muud http-sisu. See võib olla statistikakoodid, QQ jagamiskoodid, QQ show avatarid jne, mis hetkel https-protokolli ei paku, seega ei saa neid lubada. Oota lihtsalt, kuni Discuz toetab https-i edasi.
|