HTTP’den HTTPS’e Zorunlu Yönlendirme

8 Ekim 2022

Web sitenizi kurduğunuzda eğer ki HTTPS olarak erişim sağlamıyorsanız veya sitenizde HTTPS yönlendirmesi yoksa tarayıcılar sitenizi güvensiz olarak görmektedir. HTTP bağlantılarda girişler güvenli değildir.

Günümüzde her geçen gün e-ticaret siteleri hızla artmaktadır. Bu artışta kişiler yada firmalar web sitesi açtığında eğer ki ücretli veya ücretsiz ssl sertifikası kullanmıyorsa HTTP bağlantılarda gizlilik bulunmadığından dolayı web sitesine girilecek kart numaraları, üyelik bilgileri vb. hackerların odak noktası olmaktadır. Bu gibi güvensiz durumları hiç kimse web sitesinde veya müşterileri karşısında kötü bir profil bırakmaz istemez.

Bu makalemizde ise sitenizi en basit haliyle nasıl yönlendirme yapacağınıza dair yöntemler bulunmaktadır. Bu yöntemleri uygulamaya başlamadan önce hosting veya sunucu hizmetinizde yönlendirme yapılacak alan adı için ssl hizmetinizin olduğundan emin olunuz.

Kullandığınız yazılım ne olursa olsun. Ana dizinde mutlak olarak bir .htaccess dosyası bulunur. cPanel kullanıyosanız dosya yöneticisinde bu dosya gizli olarak görünebilir. Dosya yöneticisindeyken ekranın sağ üst kısmındaki çark ikonuna tıklayarak gizli öğeler seçeneğini aktif ediyoruz. Yine de dosya görüntülenemiyorsa yeni dosya oluştur diyerek ismini .htaccess olarak kaydederek kolaylıkla oluşturabilirsiniz.

1. Yöntem: Zorunlu HTTPS yönlendirmesi yer almaktadır. Alttaki kodu .htaccess dosyanızın en başına yapıştırarak kaydetmeniz halinde giriş yapan tüm kullanıcılar/ziyaretçiler sitenizi HTTPS protokolü yani kullanıcının bilgisayarı ile site arasında güvenli/şifreli bağlantı üzerinden görüntülemiş olacaktır.

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

2. Yöntem: WordPress gibi hazır altyapılar kullanıyorsanız her sayfaya include yani çağırılan bir dosyayı tespit etmelisiniz. Örnek vermek gerekirse en basitiyle veritabanı bağlantı dosyadır. Sizde kendi yazılımınızda bu veritabanı dosyasını tespit ederek yönlendirmenizi gerçekleştirebilirsiniz.

WordPress için bu dosya WordPress’in kurulu olduğu dizindeki wp-config.php dosyasıdır. Bu dosyayı düzenleyerek <?php tagından sonraki bir alt satırına alttaki kodu yazmanız halinde yine HTTP erişim sağlayan kullanıcıları otomatik olarak HTTPS bağlantıya zorlamaktadır.

if(isset($_SERVER['HTTP_X_FORWARDED_PROTO'])&&$_SERVER['HTTP_X_FORWARDED_PROTO']=='https'){
	$_SERVER['REMOTE_ADDR']=$_SERVER["HTTP_X_FORWARDED_FOR"];
	$_SERVER['REQUEST_SCHEME']='https';
	$_SERVER['SERVER_PORT']=443;
	$_SERVER['HTTPS']='on';
}

Bu kod sayesinde tüm HTTP bağlantılar HTTPS olarak yönlendirilecektir.