Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 14855|Odpověď: 2

[Vytváření znalostí webových stránek] O Discusu! (X3.1) Jak povolit https šifrování

[Kopírovat odkaz]
Zveřejněno 30.05.2015 23:42:13 | | |
Doba se neustále mění a naše poptávka po bezpečné komunikaci roste. V Discuz X3 se uvádí, že https je podporován, takže po získání SSL certifikátu jsem SSL přidal na web hned, jakmile jsem ho dostal. Ale po přidání jsem zjistil, že mnoho míst https odkazy nepoužívá, tak jsem začal kontrolovat zdrojový kód Discuz, abych zjistil, co se pokazilo.
1. SSL certifikát a konfigurace
Za prvé, abyste mohli povolit SSL, musíte mít certifikát, že? Ať už je vydán běžným CA nebo podepsaný sám, není možné mít jistotu. Pokud ne, nejdřív se přihlaste k němu. (Prosím, vyhledejte si konkrétní metodu na Googlu, nebudu zde zacházet do detailů)
2、Rozklad! Optimalizováno2.1. Úprava postupu
Z Discuz! X3 přidal podporu pro https, a pokud použijete https k přístupu na fórum, odkazy ve fóru se stanou https. Pokud zjistíte, že většina odkazů už používá https, znamená to, že Discuz to automaticky rozpoznal a můžete tento krok přeskočit a jít rovnou na další krok.
Discuz používá $_SERVER['HTTPS'] k posouzení SSL, ale kvůli mému problému s architekturou VPS (nginx+php-fpm) ho takto nelze rozpoznat, takže musím provést nějaké úpravy v programu Discuz (s použitím $_SERVER['SERVER_PORT']).
Zdroj/Třída/Diskuz/discuz_application.php (c. řádek 187):
Najděte:
  1. $_G['isHTTPS'] = ($_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
Kopírovat kód
Upraveno na:
  1. $_G['isHTTPS'] = ($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
Kopírovat kód
uc_server/avatar.php (přibližně řádek 13):
Najděte:
  1. define('UC_API', strtolower(($_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
Kopírovat kód
Upraveno na:
  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'], '/'))));
Kopírovat kód
Po úpravě jsem aktualizoval cache a zjistil jsem, že většina odkazů se stala https.
2.2. Pozadí
Na pozadí jsou také nastavení, která mohou zasahovat do používání https
Na pozadí >webmaster > UCenter nastavuje > UCenter přístupovou adresu, která je upravena tak, aby začínala s https
UCenter > Správa aplikací > Hlavní URL aplikace je upravena tak, aby začínala na https
Navíc některá nastavení na pozadí > globálních > doménových názvech mohou https také zneplatnit, pokud jste provedli předchozí kroky a stále ho nemůžete povolit, můžete zde dočasně smazat nastavení a vyzkoušet.
3. Vyčistit cache
Po dokončení nastavení je potřeba cache vymazat, aby se nastavení projevila.
Vyčistěte cache a paměťovou cache, a pokud nastavíte post cache, musíte cache vyčistit v databázi (vyprázdnit odpovídající cache databázi, nebo počkat, až cache selže).
V tomto bodě je Discuz https úspěšně povolen a samozřejmě při přístupu na některé stránky může být zámek překročen. Protože na stránce se načítá další http obsah. Mohou to být statistické kódy, QQ sdílené kódy, avatary QQ show apod., které zatím neposkytují https protokol, takže je nelze povolit. Jen počkejte, až Discuz bude dál podporovat https.





Předchozí:Nová kolekce produktů Google I/O konference 2015
Další:Samo-spuštění Nginx selhalo
Zveřejněno 01.06.2015 17:05:36 |
Fórum chce povolit technologii přenosu šifrovaného přes SSL
Zveřejněno 03.01.2018 13:57:42 |
Přímý $_G['isHTTPS'] = pravda;
define('UC_API', strtolower('https://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com