Güvenli Bir Biçimde PHP Yönlendirme Nasıl Yapılır?

 Güvenli Bir Biçimde PHP Yönlendirme Nasıl Yapılır?
access_time

hourglass_empty

person_outline

PHP yönlendirme kullanışlıdır yalnız doğru bir halde yapılmazsa tehlikeli olabilir.

header() fonksiyonu bir kullanıcıyı kolaylıkla başka bir sayfa yönlendirmek için kullanılabilir. Bir tek pratikte bu fonksiyonu kullanmak görünmüş olmasıyla beraber da kolay değildir. Bu rehberde size derhal sonrasında problem çıkarmayacak bir PHP sayfa yönlendirme iyi mi yapılır göstereceğiz.

PHP Yönlendirmesi için En Rahat Yöntem

Bir oldukça rehberde sayfanızın en üst kısmındaki header() fonksiyonunu kullanarak bir PHP yönlendirme yapabileceğiniz söylenir. Bunu yapmak için fonksiyonu tıpkı aşağıdaki örnekteki şeklinde yeni bir URL göndermek için bu PHP yönlendirme kodu kullanılabilir:

header('Location: '.$newURL.php);

Bu header fonksiyonu kullananların tarayıcılarına herhangi bir HTML yada metin iletilmeden ilkin doğrusu sayfanın en üstünde konumlanmalıdır. Özetlemek gerekirse  bildiriminden, herhangi bir Java’dan ve de bir PHP kodundan ilkin gelmelidir. Böylelikle bu fonksiyon kullanıcıları yeni URL’ye yollayacaktır.

Rahat gözükse de mevzu header() fonksiyonuna erişince kodun sadeliği geliştiricileri güvenlik mevzusunda yanıltabilir. Hadi bu fonksiyonu iyi mi doğru bir halde kullanacağınızı görelim.

Die() and Exit ()

İlk olarak die() yada exit() komutlarını her yönlendirme yaptığınızda kullanmalısınız. Özetle, problem şu ki tarayıcılar ve botlar header’ları görmezden gelebilir ve bu şekilde de yönlendirdiğiniz sayfa onlara erişilebilir hale gelir. Bir başka deyişle belirli birr sayfayı kullanmak için header yönlendirmesini kullanmış olmuş olmuş olmuş olursunuz yalnız boşa gitmiş olur.

Bu yüzden eğer yönlendirmeniz görmezden gelinirse onu kapatmanız gerekir. Bunu yapmanın yoluysa yönlendirmenizden sonrasında die() yada exit() komutlarından birini kullanmaktır:

header("Location: .$newURL.php");
die();

Relative (Göreceli) ve Absolute (Mutlak) URL’ler

Şimdiyse yönlendirmelerde relative (göreceli) ve absolute (mutlak) URL’lerden bahsetmenin vakti. RFC 7231 ikisini de kullanmanıza izin verir yalnız relative (göreceli) yönlendirmeler kullanırken fazlasıyla dikkatli olmalısınız. Bunun sebebiyse bazı site kurma araçlarının PHP sayfalarının sırayla adları değiştirmesidir. Özetlemek gerekirse üstünde durmak gerekirse eğer PHP’niz üstünde bir web site kurma aracı vasıtasıyla çalışıyorsanız tüm yönlendirmelerinizi bozabilirsiniz.

Ne yazık ki şu anda bu probleminin bir çözümü yoktur. Bir tek yapabileceğiniz şey ise yönlendirmelerinizin nereye yönlendirdiğinden daima haberdar olmaktır.

Durum Kodları

Standart PHP yönlendirmelerin üçüncü sorunuysa PHP’nin “konum” operatörünün HTTP 302 kodunu veriyor olmasıdır. Bunu yapmasına izin vermemelisiniz şundan dolayı birçok web tasarıyıcısı bu kodu olması gerektirme ettiğinin tam tersi bir halde kullanmaktadır. “Gerçek” bir yönlendirme yapmak yerine GET komutunu kullanırlar.

PHP yönlendirme yaparken yapabileceğiniz en iyi şeylerden biri verilecek kodu belirtmektir. Maalesef ki hangi kodu kullanacağınız bir çekişme mevzusudur. HTTP 301 kalıcı bir yönlendirme belirtir ve ana sayfanızı geri almakta problem yaşatabilir. HTTP 303 ise birçok tarayıcı tarafınca “diğeri” olarak algılanır ve sayfanızı arama motorları üstünden index’lerken sorunlara yol açabilir.

Özetle, bu durum çözülene kadar HTTP 303’ü kullanmalısınız.

Kılavuza Bakın

Yukarıdaki temel önlemleri almadan ilkin PHP yönlendirme halletmeye ve yayınlamaya başlamadan kılavuzu okumalısınız. Ne yaptığınızı anladığınızdan güvenilir olmak için PHP kılavuzuna göz atmalı ve en iyi yöntemler içinse W3C dökümanını incelemelisiniz.

Bu belgeleri okuma aşamasındayken de web sitenizi olağan zayıflıklara karşı koruduğunuzdan güvenilir olun. Eğer halihazırda PHP yönlendirmeleri kullanmanızı gerektiren bir durumdaysanız sitenizin güvenliğini gözden geçirmeniz yararınıza olacaktır.

Privacy Canada ağ zayıflıkları listesi

Diğeri Yöntemler

Tüm bu sorunlara karşın “niçin PHP yönlendirme yapayım?” diye düşünüyor olabilirsiniz. Bu oldukça iyi bir sual! PHP yönlendirme bir fazlaca zaman diğeri yönlendirmelerden daha süratli yapıldığından dolayı web sayfası hızını iyileştirme mevzusunda iyi bir vasıta olsa da başka seçenekler de mevcuttur.

Yönlendirme için iki değişik yöntem bulunmaktadır. Sayfanızın HTML kısmındaki  elementini yada JavaScript’i kullanabilirsiniz. İlk yöntemdeki  elementini kullanmanın bir örneği:

İkinci yöntemde JavaScript’i kullanmak birazcık daha zarif ve daha ustalaşmış olacaktır:

window.location.replace("http://yenisayfa.php/");

Bu iki yöntem de header() yönlendirmesinden daha yavaştır yalnız muhtemelen daha esnek olacaktır.

Netice

Yukarıdaki adımları takip etmeniz güvenli bir halde PHP yönlendirme yapacağınız anlamına gelse de eğer birçok PHP yönlendirmesi yapmanız gereksinim duyulan bir durumdaysanız sitenizin yapısını gözden geçirmeniz gerekir.

Bunu yapmanın için birkaç iyi sebebi bulunmaktadır. İlki bütün web host’ların eşit olmadığıdır. Eğer tüm ziyaretçilerinizi sitenizde dolaylı bir halde gezmelerini sağlıyorsanız web sitenizin performansı etkilenecektir. Bunu ucuz bir web hosting sağlayıcısı kullanarak iyileştirebilirsiniz yalnız bu da belirli bir dereceye kadar olacaktır.

İkinci sebep ise yönlendirmeyi yaptığınız ana sayfa siz bilincinde olmadan bilhassa de sitenizin performansını kovuşturmak için web analitik yazılımları kullanıyorsanız ziyaretçilerinizin verilerini topluyor olabilir. Veri kanunlarının fazlasıyla mühim olduğu günümüzde bunun ciddi yaptırımları olabilir.

Özet olarak PHP yönlendirme mevzusunda dikkatli olun, onları muntazam ve yalnızca ihtiyacınız olduğu süre kullanın.

Kaynak:https://www.hostinger.web.tr/rehberler/php-yonlendirme/

0 Reviews

Related post

Leave a Reply

Your email address will not be published. Required fields are marked *