Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 14855|Atbildi: 2

[Tīmekļa vietnes veidošanas zināšanas] Par Discuz! (X3.1) Kā iespējot https šifrēšanu

[Kopēt saiti]
Publicēts 30.05.2015 23:42:13 | | |
Laiki nepārtraukti attīstās, un mūsu pieprasījums pēc drošas saziņas pieaug. Discuz X3 ir teikts, ka https tiek atbalstīts, tāpēc pēc SSL sertifikāta saņemšanas es pievienoju SSL vietnei, tiklīdz es to saņēmu. Bet pēc tā pievienošanas es atklāju, ka daudzās vietās netiek izmantotas https saites, tāpēc es sāku pārbaudīt Discuz avota kodu, lai redzētu, kas nogāja greizi.
1. SSL sertifikāts un konfigurācija
Pirmkārt, lai iespējotu SSL, jums ir jābūt sertifikātam, vai ne? Neatkarīgi no tā, vai to izdevusi parasta CA vai parakstījusi pats, nav iespējams būt pārliecībai. Ja nē, vispirms piesakieties vienam. (Lūdzu, google konkrēto metodi, es šeit neiedziļināšos)
2 、 Disks! Optimizēts2.1. Procedūras pielāgošana
No Discuz! X3 ir pievienojis atbalstu https, un, ja izmantojat https, lai piekļūtu forumam, saites forumā kļūs par https. Ja konstatējat, ka lielākā daļa saišu jau izmanto https, tas nozīmē, ka Discuz to ir automātiski atpazinis, un jūs varat izlaist šo soli un doties tieši uz nākamo soli.
Discuz izmanto $_SERVER['HTTPS'], lai spriestu par SSL, bet manas VPS arhitektūras problēmas dēļ (nginx+php-fpm) to nevar atpazīt šādā veidā, tāpēc man ir jāveic dažas korekcijas Discuz programmā (izmantojot $_SERVER['SERVER_PORT']).
avots/klase/discuz/discuz_application.php (c. 187. rinda):
Atrast:
  1. $_G['isHTTPS'] = ($_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
Kopēt kodu
Modificēts uz:
  1. $_G['isHTTPS'] = ($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
Kopēt kodu
uc_server/avatar.php (aptuveni 13. rinda):
Atrast:
  1. define('UC_API', strtolower(($_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
Kopēt kodu
Modificēts uz:
  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ēt kodu
Pēc modifikācijas es atjaunināju kešatmiņu un atklāju, ka lielākā daļa saišu kļuva par https.
2.2. Fona iestatījumi
Fonā ir arī iestatījumi, kas var traucēt https izmantošanu
Fonā >webmaster > UCenter iestata > UCenter piekļuves adresi, kas tiek modificēta, lai sāktu ar https
UCenter > lietojumprogrammu pārvaldības > Lietojumprogrammas galvenais URL tiek modificēts, lai sāktu ar https
Turklāt daži fona iestatījumi > globālie > domēna nosaukuma iestatījumi var arī padarīt nederīgus https, ja esat veicis iepriekšējās darbības un joprojām nevarat to iespējot, varat īslaicīgi izdzēst iestatījumus šeit, lai mēģinātu.
3. Notīriet kešatmiņu
Kad iestatījumi ir pabeigti, jums ir jānotīra kešatmiņa, lai iestatījumi stātos spēkā.
Notīriet kešatmiņu un atmiņas kešatmiņu, un, ja iestatāt ziņu kešatmiņu, jums ir jātīra kešatmiņa datu bāzē (iztukšojiet atbilstošo kešatmiņas datu bāzi vai pagaidiet, līdz kešatmiņa neizdodas).
Šajā brīdī Discuz https ir veiksmīgi iespējots, un, protams, piekļūstot dažām lapām, slēdzene var tikt šķērsota. Jo lapā tiek ielādēts cits http saturs. Tas var būt statistikas kodi, QQ koplietošanas kodi, QQ šovu iemiesojumi utt., Kas pagaidām nenodrošina https protokolu, tāpēc tos nevar iespējot. Vienkārši pagaidiet, kamēr Discuz turpinās atbalstīt https.





Iepriekšējo:2015. gada Google I/O konferences jauno produktu kolekcija
Nākamo:Nginx pašstartēšana neizdevās
Publicēts 01.06.2015 17:05:36 |
Forums vēlas iespējot SSL šifrētas pārraides tehnoloģiju
Publicēts 03.01.2018 13:57:42 |
Tiešais $_G['isHTTPS'] = true;
define('UC_API', strtolower('https://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com