Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 14855|Válasz: 2

[Weboldalépítési tudás] A Discuzról! (X3.1) Hogyan engedélyezzük a https titkosítást

[Linket másol]
Közzétéve 2015. 05. 30. 23:42:13 | | |
Az idők folyamatosan változnak, és a biztonságos kommunikáció iránti igényünk növekszik. A Discuz X3-ban azt írják, hogy a https támogatott, így miután megkaptam az SSL tanúsítványt, azonnal hozzáadtam SSL-t a weboldalra, amint megkaptam. De miután hozzáadtam, azt tapasztaltam, hogy sok helyen nem használják a https linkeket, ezért elkezdtem ellenőrizni a Discuz forráskódját, hogy lássam, mi ment félre.
1. SSL tanúsítvány és konfiguráció
Először is, az SSL engedélyezéséhez igazolvánnyal kell rendelkezned, igaz? Akár egy átlagos ügyvédi kibocsátás, akár ő maga írja alá, nem lehet biztos lenni. Ha nem, jelentkezz először egyre. (Kérlek, gukereszek a konkrét módszert, itt nem megyek a részletekbe)
2、Discuz! Optimalizált2.1. Eljárás módosítása
A Discuztól! Az X3 hozzáadta a https-támogatást, és ha https-et használsz a fórum eléréséhez, a fórumon lévő linkek https-nek lesznek. Ha azt tapasztalod, hogy a legtöbb link már használ https-t, az azt jelenti, hogy a Discuz automatikusan felismerte azt, és ezt a lépést kihagyhatod, és közvetlenül a következő lépésre mehetsz.
A Discuz $_SERVER['HTTPS'] segítségével ítéli meg az SSL-t, de a VPS architektúra problémám (nginx+php-fpm) miatt nem ismerhető fel így, ezért néhány módosítást kell végeznem a Discuz programon ($_SERVER['SERVER_PORT']-val).
forrás/osztály/discuz/discuz_application.php (k. 187. sor):
Találd:
  1. $_G['isHTTPS'] = ($_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
Kód másolása
Módosítva:
  1. $_G['isHTTPS'] = ($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
Kód másolása
uc_server/avatar.php (kb. 13. sor):
Találd:
  1. define('UC_API', strtolower(($_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
Kód másolása
Módosítva:
  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'], '/'))));
Kód másolása
A módosítás után frissítettem a gyorsítótárt, és azt tapasztaltam, hogy a legtöbb link https-re vált.
2.2. Háttérbeállítások
Vannak olyan beállítások is, amelyek zavarhatják az https használatát
A háttérben a >webmester > UCenter beállítja a > UCenter hozzáférési címet, amelyet úgy módosítanak, hogy https-szel kezdje
UCenter > alkalmazáskezelés > Az alkalmazás fő URL-jét úgy módosítják, hogy a https-szel kezdje
Ezen felül néhány háttérbeállítás > globális > domain név beállítása is érvénytelenítheti az https-et; ha már megtetted az előző lépéseket, de még mindig nem tudod engedélyezni, ideiglenesen törölheted a beállításokat itt, hogy megpróbáld.
3. Töröld a gyorsítótárt
Miután a beállítások elkészültek, töröld a cache-t, hogy a beállítások érvényesüljenek.
Tisztítsd ki a cache- és memória cache-t, és ha beállítod a post cache-t, akkor ki kell tisztítanod az adatbázisban (kiürítsd a megfelelő cache adatbázist, vagy várd meg, amíg a cache meghibásodik).
Ekkor a Discuz https sikeresen aktiválódott, és persze bizonyos oldalak elérésénél előfordulhat, hogy a zárolás átléphető. Mert más http tartalmak is betöltődnek az oldalon. Lehetnek statisztikai kódok, QQ megosztási kódok, QQ show avatárok stb., amelyek egyelőre nem biztosítanak https protokollt, így nem engedélyezhetők. Csak várd meg, amíg a Discuz tovább támogatja a https-t.





Előző:2015 Google I/O Konferencia Új Termékgyűjtemény
Következő:Nginx önindítása megbukott
Közzétéve 2015. 06. 01. 17:05:36 |
A fórum szeretné lehetővé tenni az SSL titkosított átviteli technológiát
Közzétéve 2018. 01. 03. 13:57:42 |
Direct $_G['isHTTPS'] = true;
define('UC_API', strtolower('https://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/')))));
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com