Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 14855|Odpoveď: 2

[Budovanie vedomostí o webovej stránke] Čo sa týka Discuz! (X3.1) Ako povoliť šifrovanie https

[Kopírovať odkaz]
Zverejnené 30. 5. 2015 23:42:13 | | |
Časy sa neustále menia a naša požiadavka na bezpečnú komunikáciu rastie. V Discuz X3 sa uvádza, že https je podporovaný, takže po získaní SSL certifikátu som hneď po získaní SSL pridal na webstránku. Ale po pridaní som zistil, že na mnohých miestach https odkazy nepoužívajú, tak som začal kontrolovať zdrojový kód Discuz, aby som zistil, čo sa pokazilo.
1. SSL certifikát a konfigurácia
V prvom rade, na povolenie SSL musíte mať certifikát, však? Či už ho vydal bežný CA alebo ho podpísal sám, nie je možné mať istotu. Ak nie, najskôr sa o ňu prihlás. (Prosím, vyhľadajte si konkrétnu metódu na Googli, nebudem tu zachádzať do detailov)
2、Discus! Optimalizované2.1. Úprava postupu
Z Discuz! X3 pridal podporu pre https a ak použijete https na prístup do fóra, odkazy vo fóre sa stanú https. Ak zistíte, že väčšina odkazov už používa https, znamená to, že Discuz ho automaticky rozpoznal a môžete tento krok preskočiť a prejsť priamo na ďalší krok.
Discuz používa na posúdenie SSL _SERVER $['HTTPS'], ale kvôli môjmu problému s architektúrou VPS (nginx+php-fpm) ho takto nemožno rozpoznať, takže musím urobiť niekoľko úprav v programe Discuz (používajúc $_SERVER['SERVER_PORT']).
Zdroj/Trieda/Discuz/discuz_application.php (C. verš 187):
Nájdite:
  1. $_G['isHTTPS'] = ($_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
Kopírovať kód
Upravené na:
  1. $_G['isHTTPS'] = ($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
Kopírovať kód
uc_server/avatar.php (približne riadok 13):
Nájdite:
  1. define('UC_API', strtolower(($_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
Kopírovať kód
Upravené 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írovať kód
Po úprave som aktualizoval cache a zistil som, že väčšina odkazov sa zmenila na https.
2.2. Pozadie
Na pozadí sú tiež nastavenia, ktoré môžu zasahovať do používania https
Na pozadí >webmaster > UCenter nastaví > UCenter prístupovú adresu, ktorá sa upraví tak, aby začínala s https
UCenter > Správa aplikácií > Hlavná URL adresa aplikácie je upravená tak, aby začínala s https
Okrem toho niektoré nastavenia na pozadí > globálnych > doménových mien môžu https tiež zneplatniť, ak ste urobili predchádzajúce kroky a stále ho nemôžete povoliť, môžete tu dočasne vymazať nastavenia a vyskúšať.
3. Vyčistiť cache
Po dokončení nastavení musíte vymazať cache, aby sa nastavenia prejavili.
Vyčistite cache a pamäťovú cache, a ak nastavíte post cache, musíte vyčistiť cache v databáze (vyprázdniť príslušnú cache databázu, alebo čakať, kým cache zlyhá).
V tomto bode je Discuz https úspešne povolený a samozrejme, pri prístupe k niektorým stránkam môže byť zámok prekročený. Pretože na stránke sa načítava iný http obsah. Môžu to byť štatistické kódy, QQ zdieľacie kódy, QQ ukazovacie avatary a podobne, ktoré momentálne neposkytujú https protokol, takže ich nemožno povoliť. Len počkajte, kým Discuz viac podporí https.





Predchádzajúci:Nová kolekcia produktov na konferencii Google I/O 2015
Budúci:Samo-startup Nginx zlyhal
Zverejnené 1. 6. 2015 17:05:36 |
Fórum chce umožniť technológiu prenosu cez SSL šifrovanie
Zverejnené 3. 1. 2018 13:57:42 |
Priamy $_G['isHTTPS'] = pravda;
define('UC_API', strtolower('https://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com