Tüm sitenin güvenli bir bağlantı kullanmasını nasıl sağlarım? [kapalı]


18

Drupal 7'de siteyi güvenli bir bağlantıda çalıştırmak için Güvenli giriş modülünü kullandım, ancak çıkışta http'ye geri dönmediği anlaşılıyor. Tüm siteyi bir basitleştirme olarak https: // olarak çalıştırmak istiyorum.

Bunu modül kullanmadan yapmanın basit bir yolu var mı?


Bugün Htaccess modülünü yeni kurdum , mevcut ayarlarını değiştirdim ve bu profili konuşlandırdım. Mükemmel çalışıyor gibi görünüyor ...
Aleksey Zubenko

Yanıtlar:



35

SSL kullanmak zorunda kalacak tüm sayfalarınızı yeniden yönlendirmek istiyorsanız, bunu .htaccessdosyanıza ekleyin .

# Redirect to HTTPS
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Önceden yeniden yazma işlemi yoksa , doğrudan yerleştirilmelidir RewriteEngine on.


1

Bir başka kullanışlı numara, vache yönergelerinizi değiştirmek için Apache'ye kök erişiminiz varsa, bunu sitenin SSL yönergesine eklemektir. Çoğu modern tarayıcı bu yönergeye uyar (IE9 kabul etmez)

Header always set Strict-Transport-Security "max-age=63072000"

Yaşı istediğiniz gibi ayarlayabilirsiniz. Bunun yaptığı, SADECE web sitenizle iletişim kurmak için SSL kullanmak ve asla düz HTTP kullanmamak için buna uyan web tarayıcılarını bilgilendirmektir. Bu, tüm HTTP / HTTPS anahtarlama durumu için biraz güvence sağlar.

Kullanışlı bir hack.

NOT: Bu yalnızca sitenizde bir VALID SSL sertifikanız (kendinden imzalı, süresi dolmuş veya başka bir şekilde yanlış değilse) çalışır. Bunu yapmazsanız, tarayıcının maksimum yaş süresi doluncaya kadar bağlanmasını engeller.


0

Denemek isteyebileceğiniz başka bir seçenek daha var - yüklemelerimden biri için ihtiyacım olan şeydi ve ek modüller gerektirmiyordu:

İlk olarak, .htaccess'inizde:

RewriteCond %{HTTPS} !on
RewriteCond %{HTTP_HOST} ^www\.yourdomainhere\.com*
RewriteRule ^(.*)$ https://www.yourdomainhere.com/ [L,R=301]

Bu, aşağıdakilerden sonra eklenmelidir:

RewriteEngine on

Ardından, ayarlarınızda. Php:

$base_url = 'https://www.yourdomainhere.com'; 

Ayrıca, sertifika uyarılarını önlemek için Web yazı tipleri ve bir https etki alanından gelmesi gereken diğer başvurular gibi harici kaynakları kontrol etmek isteyebilirsiniz.

Bu yardımcı olur umarım.


-2

Başka bir çözüm daha var; bu sadece $ _SERVER ['HTTPS'] = 'On'; settings.php dosyasında

Daha fazla bilgi için: Https://www.drupal.org/https-information#comment-9901783 adresinde

Ancak, htaccess yöntemi dikkate alınmadan yönlendirir, oysa settings.php dosyası tarayıcı önbelleğinin temizlenmesini gerektirir.


2
Hile kendi başına yapmak için görünmedi. Drupal önbellekleri temizlemek zorunda kaldım, ancak sonra, drupal sayfaları https olarak sunulmuş olsa da, görüntüler gibi kaynaklar değildi. Yüklendiler, ancak tarayıcı bu konuda (konsolda) uyarı veriyordu ve kilit simgesinin bir uyarısı vardı. Uygun bir kilit simgesi almak için Ricks cevabından htaccess direktifini eklemek zorunda kaldım.
commonpike
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.