Gönderi

Classic ASP ve SSL Kontrol, Yönlendirme

HTTPS protokolünün oluşturulma amacı güvensiz bir ağ ortamında güvenli bir iletişim yolu oluşturmaktır. Çünkü HTTP protokolü man-in-the-middle diye tabir edilen saldırılara açıktır. Bu tür saldırılarda ağı dinleyen saldırganlar, kişisel hesap bilgilerini ve parolaları kolay bir şekilde ele geçirebilirler.

Bu yüzden web sitelerimize SSL yükleriz ve bazen yazılımsal müdahaleler ile yönlendirmeler, SSL durumunun aktifliğini kontrol etmek gerekir. Bunun için Classic ASP de aşağıda vereceğim kodlar ile SSL kontrolünü yapabilir, gerekli durumda yönlendirme yaparak kullanıcıların tüm trafiği zorunlu olarak HTTPS protokolü üzerinden yapmasını sağlayabilirsiniz. ASP ve SSL kontrolü yapmak için vereceğim kodları kullanabilir, kendinize göre tekrar özelleştirebilirsiniz.

SSL Yönlendirmesi Yapan Yeri Kontrol Edin

Biz kendimiz de yönlendirsek, olası ataklara ve kaçaklara karşı gerçekten kendimizin yönlendirdiğiniz kontrol edelim.

1
2
3
4
5
6
7
<%
' #### Alan Adı Kontrol ve Yönlendirme
If InStr(Request.ServerVariables("HTTP_HOST"), "domain.com") = 0 Then
    response.redirect "https://" & Request.ServerVariables("HTTP_HOST")
    Response.End()
End If
%>

Gelen Talebin Portuna Bakalım

HTTP protokolü genel olarak 80 veya 8080 portundan gerçekeleşir. HTTPS ise 443 numaralı portu kullanır. Bu yüzden gelen talebin 80 numaralı porttan olup olmadığını kontrol ediyoruz ve var olan tüm stringleri toplayıp, HTTPS protokolüne yönlendiriyoruz.

1
2
3
4
5
6
7
8
9
<%
' #### SSL ve WWW KONTROLU
If request.servervariables("SERVER_PORT") = "80" Then
    Dim sQString
    sQString = Request.QueryString
    response.redirect "https://" & request.servervariables("SERVER_NAME") & request.servervariables("URL") & IIf(Len(sQString) > 0, "?" & sQString, "")
    Response.End()
End If
%>

WWW Olmazsa Olmaz Diyorum

Takıntılıysanız WWW ekinin zorunlu kullanılmasını da sağlayabilirsiniz. Bunun için aşağıda ki kodu kullanmanız yeterli olacaktır. Gelen talebin başında WWW ön eki yoksa, ekleyip, mevcut adrese tekrar yönlendirecektir.

1
2
3
4
5
6
<%
If InStr(1, request.servervariables("SERVER_NAME"), "www.") = 0 Then
    response.redirect "https://www." & request.servervariables("SERVER_NAME") & request.servervariables("URL") & "?" & sQString
    Response.End()
End If
%>
Bu gönderi CC BY 4.0 lisansı altındadır.