Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 14855|Απάντηση: 2

[Γνώση δημιουργίας ιστοσελίδων] Σχετικά με το Discuz! (X3.1) Πώς να ενεργοποιήσετε την κρυπτογράφηση https

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 30/5/2015 11:42:13 μ.μ. | | |
Οι καιροί εξελίσσονται συνεχώς και η απαίτησή μας για ασφαλή επικοινωνία αυξάνεται. Στο Discuz X3, λέγεται ότι υποστηρίζεται το https, οπότε αφού πήρα το πιστοποιητικό SSL, πρόσθεσα SSL στον ιστότοπο μόλις το πήρα. Αλλά αφού το πρόσθεσα, διαπίστωσα ότι πολλά μέρη δεν χρησιμοποιούσαν συνδέσμους https, οπότε άρχισα να ελέγχω τον πηγαίο κώδικα του Discuz για να δω τι πήγε στραβά.
1. Πιστοποιητικό SSL & διαμόρφωση
Πρώτα απ 'όλα, για να ενεργοποιήσετε το SSL, πρέπει να έχετε πιστοποιητικό, σωστά; Είτε εκδίδεται από κανονική ΑΠ είτε υπογράφεται από τον ίδιο, δεν είναι δυνατόν να μην υπάρχει βεβαιότητα. Εάν όχι, κάντε πρώτα αίτηση για ένα. (Παρακαλώ γκουγκλάρετε τη συγκεκριμένη μέθοδο, δεν θα μπω σε λεπτομέρειες εδώ)
2, Συζήτηση! Βελτιστοποιημένο2.1. Προσαρμογή της διαδικασίας
Από το Discuz! Το X3 έχει προσθέσει υποστήριξη για https και εάν χρησιμοποιείτε https για πρόσβαση στο φόρουμ, οι σύνδεσμοι στο φόρουμ θα γίνουν https. Εάν διαπιστώσετε ότι οι περισσότεροι σύνδεσμοι χρησιμοποιούν ήδη https, σημαίνει ότι το Discuz το έχει αναγνωρίσει αυτόματα και μπορείτε να παραλείψετε αυτό το βήμα και να μεταβείτε απευθείας στο επόμενο βήμα.
Το Discuz χρησιμοποιεί $_SERVER['HTTPS'] για να κρίνει το SSL, αλλά λόγω του προβλήματος αρχιτεκτονικής VPS (nginx+php-fpm), δεν μπορεί να αναγνωριστεί με αυτόν τον τρόπο, επομένως πρέπει να κάνω κάποιες προσαρμογές στο πρόγραμμα Discuz (χρησιμοποιώντας $_SERVER['SERVER_PORT']).
πηγή/τάξη/discuz/discuz_application.php (γ. γραμμή 187):
Εύρημα:
  1. $_G['isHTTPS'] = ($_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
Αντιγραφή κώδικα
Τροποποιήθηκε σε:
  1. $_G['isHTTPS'] = ($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
Αντιγραφή κώδικα
uc_server/avatar.php (περ. γραμμή 13):
Εύρημα:
  1. define('UC_API', strtolower(($_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
Αντιγραφή κώδικα
Τροποποιήθηκε σε:
  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'], '/'))));
Αντιγραφή κώδικα
Μετά την τροποποίηση, ενημέρωσα την προσωρινή μνήμη και διαπίστωσα ότι οι περισσότεροι σύνδεσμοι έγιναν https.
2.2. Ρυθμίσεις φόντου
Υπάρχουν επίσης ρυθμίσεις στο παρασκήνιο που ενδέχεται να επηρεάσουν τη χρήση του https
Στο παρασκήνιο, ο >webmaster > UCenter ορίζει τη διεύθυνση πρόσβασης > UCenter, η οποία τροποποιείται ώστε να ξεκινά με https
UCenter > Διαχείριση εφαρμογών > Η κύρια διεύθυνση URL της εφαρμογής τροποποιείται ώστε να ξεκινά με https
Επιπλέον, ορισμένες ρυθμίσεις στο παρασκήνιο > καθολικών ρυθμίσεων ονόματος τομέα > ενδέχεται επίσης να ακυρώσουν το https, εάν έχετε κάνει τα προηγούμενα βήματα και εξακολουθείτε να μην μπορείτε να το ενεργοποιήσετε, μπορείτε να διαγράψετε προσωρινά τις ρυθμίσεις εδώ για να δοκιμάσετε.
3. Εκκαθαρίστε την προσωρινή μνήμη
Αφού ολοκληρωθούν οι ρυθμίσεις, πρέπει να διαγράψετε την προσωρινή μνήμη για να τεθούν σε ισχύ οι ρυθμίσεις.
Καθαρίστε την προσωρινή μνήμη και την προσωρινή μνήμη και εάν ορίσετε την προσωρινή μνήμη ανάρτησης, πρέπει να καθαρίσετε την προσωρινή μνήμη στη βάση δεδομένων (αδειάστε την αντίστοιχη βάση δεδομένων προσωρινής μνήμης ή περιμένετε να αποτύχει η προσωρινή μνήμη).
Σε αυτό το σημείο, το Discuz https ενεργοποιείται με επιτυχία και φυσικά, κατά την πρόσβαση σε ορισμένες σελίδες, το κλείδωμα μπορεί να διασταυρωθεί. Επειδή στη σελίδα φορτώνεται άλλο περιεχόμενο http. Μπορεί να είναι κωδικοί στατιστικών στοιχείων, κωδικοί κοινής χρήσης QQ, avatar εμφάνισης QQ κ.λπ., που δεν παρέχουν πρωτόκολλο https προς το παρόν, επομένως δεν μπορούν να ενεργοποιηθούν. Απλώς περιμένετε μέχρι το Discuz να υποστηρίξει περαιτέρω το https.





Προηγούμενος:2015 Συνέδριο Google I/O Νέα Συλλογή Προϊόντων
Επόμενος:Η αυτόματη εκκίνηση του Nginx απέτυχε
Δημοσιεύτηκε στις 1/6/2015 5:05:36 μ.μ. |
Το φόρουμ θέλει να ενεργοποιήσει την τεχνολογία κρυπτογραφημένης μετάδοσης SSL
Δημοσιεύτηκε στις 3/1/2018 1:57:42 μ.μ. |
Απευθείας $_G['isHTTPS'] = true;
define('UC_API', strtolower('https://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com