✅ Nowości, motywy, wtyczki WEB i WordPress. Tutaj dzielimy się wskazówkami i najlepszymi rozwiązaniami dla stron internetowych.

Jak sprawić, by strona była w pełni bezpieczna przez połączenia SSL?

10

W tym poście pokazuje konfiguracje wymagane do działania SSL (na porcie 443) na serwerach Ubuntu.

Jednak w przypadku niektórych stron (zwłaszcza starych postów/stron) pokaże „nie w pełni bezpieczne" informacje, jeśli korzystasz z przeglądarki Chrome,

Jak sprawić, by strona była w pełni bezpieczna przez połączenia SSL?

ssl-nie tak-bezpieczny

Przyczyną, jak mówi, jest to, że strona używa niektórych niezabezpieczonych połączeń z obrazami, plikami css lub javascript. Jeśli wejdziesz na https://www.whynopadlock.com/ (narzędzie do sprawdzania SSL online), możesz zobaczyć szczegółowe powody, dla których ta strona nie jest całkowicie bezpieczna.

Jak sprawić, by strona była w pełni bezpieczna przez połączenia SSL?

Narzędzie do sprawdzania SSL

Alternatywnie możesz przejść do konsoli przeglądarki Chrome, a zobaczysz szczegółowe ostrzeżenia.

Jak sprawić, by strona była w pełni bezpieczna przez połączenia SSL?

Szczegóły/połączenia SSL w konsoli przeglądarki Google Chrome

Jeśli nie zrobimy tych zasobów image/js/css SSL, to ktoś mógłby/mógłby zmienić wygląd strony, czyniąc korzystanie z SSL bez sensu.

Ponadto, jeśli używasz tagu HTML iframe do dołączania stron, muszą one również korzystać z protokołu HTTPS, w przeciwnym razie zostanie to zablokowane przez większość przeglądarek ze względu na potencjalne zagrożenia bezpieczeństwa.

Ponadto, jeśli masz formularze, które są niezabezpieczonymi adresami URL (pole akcji ), nadal będziesz mieć ostrzeżenia. Na przykład powinieneś użyć wersji SSL wyszukiwarki Google zamiast wersji innej niż SSL.

Jeśli zasoby są hostowane w innej domenie

Nie ma nic do zrobienia, jeśli zasoby są hostowane w innych domenach. W takim przypadku możesz użyć wersji HTTPS, jeśli zapewniają, ale nie zawsze jest to możliwe. Duże firmy mają zarówno wersje HTTP, jak i HTTPS, np. google. Jeśli nie, możesz pobrać kopię i przesłać na swój własny FTP, a tym samym zmienić adres URL, który jest bezpieczny.

SQL do zmiany adresu URL dla postów wordpress

Jeśli używasz wordpress, możesz użyć następującego adresu URL, aby zmienić adresy URL w poście.

UPDATE wp_posts SET post_content = REPLACE (post_content, '

Następujące zmiany również GUID dla każdego postu.

UPDATE wp_posts SET guid = REPLACE (guid, '

I powinieneś zalogować się do panelu sterowania wordpress, aby zaktualizować adres URL witryny.

Jak sprawić, by strona była w pełni bezpieczna przez połączenia SSL?

ustawienia panelu sterowania ssl wordpress

Alternatywnie możesz to zrobić przez SQL:

UPDATE wp_options SET option_value = replace(option_value, '

Jeśli hostujesz kilka witryn/domen na tym samym adresie IP (VPS lub serwer dedykowany)

Jak widać na powyższych zrzutach ekranu, jeśli hostujesz kilka witryn/domen na tym samym adresie IP i używasz tych obrazów w swoich postach, możesz również zabezpieczyć te domeny (zakup nowych certyfikatów SSL) lub zmiana adresów URL.

W przypadku drugiej metody możesz pobrać obrazy/css/js i ponownie przesłać je do używanej domeny z obsługą SSL lub możesz zmapować adresy URL zasobów bez SSL na domeny z obsługą SSL.

Na przykład możesz zalogować się do swojego VPS lub serwera dedykowanego i utworzyć dowiązanie symboliczne (podobne do skrótów w systemie Windows).

ln -s  /var/non-ssl-domains/images /var/ssl-domain/images

Następnie możesz zamienić http://non-ssl-domains/images na https://ssl-domain/images, używając powyższego kodu SQL.

Czasami serwer Apache nie podąża za dowiązaniami symbolicznymi i w tym przypadku można oczywiście utworzyć dowiązania twarde (bez opcji -s)

ln  /var/non-ssl-domains/images /var/ssl-domain/images

Używanie PHP do przekierowywania niezabezpieczonych adresów URL w celu zabezpieczenia SSL

Innym rozwiązaniem jest utworzenie pliku PHP na podstawie parametrów $_GET adresów URL i odczytanie plików zasobów z innej domeny, ponieważ wszystkie są hostowane na tej samej maszynie (VPS lub serwer dedykowany).

  function hell() {     header($_SERVER['SERVER_PROTOCOL']. ' 404 Not Found');     die();   }   $r = '';   if (isset($_GET['r'])) {     $r = trim($_GET['r']);   }   if (!strlen($r)) {     hell();   }   $url = '/var/www/codingforspeed.com/images/'.$r;   if (!is_file($url)) {     hell();     }   $ext = strtoupper(pathinfo($url, PATHINFO_EXTENSION));   $type = exif_imagetype($url);   if (($ext == 'JPG') && ($type == IMAGETYPE_JPEG)) {             header('Content-Disposition: inline');             header("Content-Type: image/jpeg");             header("Content-Length: ". filesize($url));             header("Content-Transfer-Encoding: binaryn");             $im = imagecreatefromjpeg($url);             imagejpeg($im);             imagedestroy($im);             die();   }   else if (($ext == 'GIF') && ($type == IMAGETYPE_GIF)) {             header('Content-Disposition: inline');             header("Content-Type: image/gif");             header("Content-Length: ". filesize($url));             header("Content-Transfer-Encoding: binaryn");             readfile($url);               die();   }   else if (($ext == 'PNG') && ($type == IMAGETYPE_PNG)) {             header('Content-Disposition: inline');             header("Content-Type: image/png");             header("Content-Length: ". filesize($url));             header("Content-Transfer-Encoding: binaryn");             $im = imagecreatefrompng($url);             imagepng($im);             imagedestroy($im);             die();   }   else if (($ext == 'BMP') && ($type == IMAGETYPE_BMP)) {             header('Content-Disposition: inline');             header("Content-Type: image/bmp");             header("Content-Length: ". filesize($url));             header("Content-Transfer-Encoding: binaryn");             $im = imagecreatefrombmp($url);             imagebmp($im);             imagedestroy($im);               die();   }   else {     hell();   }

Zapisz powyższy kod PHP pod swoją domeną SSL, na przykład https://helloacm.com/ssl i ustaw go jako index.php.

Jeśli na przykład poprzedni niezabezpieczony adres URL to https://codingforspeed.com/images/logo.png, to nowy bezpieczny adres URL SSL to https://helloacm.com/ssl/?rlogo.png

I odpowiednio zamień adresy URL w wordpressie, używając powyższego SQL. Te metody są trochę tymczasowe, ponieważ jeśli masz budżety, lepiej ustawić wszystkie domeny jako SSL.

Witamy w świecie SSL! W nagrodę niektóre wyszukiwarki (algorytmy Google) wolą strony SSL od niezabezpieczonego HTTP. Twoje strony SSL mają tendencję do lepszego SEO.

URL z podwójnymi ukośnikami w przód

Czasami możesz zobaczyć, że ‘ // helloacm.com/images/logo.png ‘. Podwójne ukośniki automatycznie wykryją protokół bieżącej strony. Jeśli jest to HTTP i użyje protokołu HTTP lub jeśli jest to HTTPS, dostęp do obrazu będzie możliwy przez HTTPS. Możesz rozważyć zastąpienie wszystkich adresów URL podwójnymi ukośnikami, aby uzyskać lepszą kompatybilność, tj. bez względu na używany protokół, zawsze jesteś na właściwym. Proste!

htaccess URL przepisać mod

Po pełnym przetestowaniu adresów URL SSL należy przenieść poprzednie niezabezpieczone adresy URL do protokołu SSL. Możesz to zrobić w .htaccess (przepisanie modów serwera apache ). Po prostu umieść następujące dwa wiersze w głównym folderze swojej witryny, np. WordPress blog.

Przekierowanie 301 informuje wyszukiwarkę, że wynik SEO bieżącego niezabezpieczonego adresu URL powinien zostać przeniesiony do adresu SSL. Teraz zacznij propagować swój SSL zamiast niezabezpieczonego HTTP.

Źródło nagrywania: helloacm.com

Ta strona korzysta z plików cookie, aby poprawić Twoje wrażenia. Zakładamy, że nie masz nic przeciwko, ale możesz zrezygnować, jeśli chcesz. Akceptuję Więcej szczegółów