Noscript Kullanımı ve Yararları

Perşembe, Mayıs 9, 2013 3 , , , , , Permalink

Diyelim ki bir form yaptınız ve formunuzda Jquery validasyonunuz var, herşey tıkır tıkır işliyor, Jquery’yi geçen bir tane spam kayıt düşmüyor. Fakat öyle oldu ki sitenize gelen kişi (kötü niyetli) size saldırmak istiyor ve validasyonunuzu scriptle yaptığını görünce işinin kolay olduğunu sanarak, Browser ayarlarından scriptlerini kapatıyor ve başlıyor kayıtları yollamaya, siteniz çökene kadar… İşte burada almanız gereken önlemlerden bitanesi;

Sayfa içinde style ile düzenlemeler yapmak. Yöntemi aşağıdaki gibidir:

<noscript>
<style type="text/css">
.pagecontainer {display:none;}
</style>
<div class="noscriptmsg">
You don’t have javascript enabled. Good luck with that.
</div>
</noscript>

Bunun dışında bir de yönlendirme yaparak, sayfayı başka bir yere göndermek. Yöntemi aşağıdaki gibidir:

<noscript><meta http-equiv="refresh" content="0; url=whatyouwant.html"></noscript>

 

Örnek demo ve kaynak kodu aşağıdaki gibidir;

DEMO

 

Kolay gelsin.

3 Yorum var
  • Önder Ceylan
    Mayıs 9, 2013

    Şöyle bir şey de var, diyelim kullandığınız form POST metoduyla çalışıyor. Ben sayfa kaynağından input name’leri alarak formun bir kopyasını oluşturup, aynı server side scripti rahatsız edebilirim. (uzun zaman önce Türkiye’nin büyük bilet servislerinden birinin hatırlatıcı SMS servisini bayağı rahatsız etmiştim 🙂 )

    Veya diyelim ki kullandığınız form GET metoduyla çalışıyor, o zaman formun kopyasını almama bile gerek yok. Dİrekt url ve parametrelerle scripti zorlayabilirim. Örn: http://alanadi.com/formscript.xxx?name=a&message&b

    En doğrusu hem front-end hem de back-end’de gerekli önlemlerin alınması. Back-end kısmındaki önlemler bambaşka bir postun konusu tabii..

    • emredardagan
      Mayıs 9, 2013

      Dediğin doğru ama back-end bilmiyorum ben 🙂 Front-Endci bir insanın yapacakları bu kadardır hani 🙂

  • The Jewelry Store
    Mart 11, 2015

    Nice article, It was inspiring.

Cevapla

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir