Netscaler üzerinden Rate Limiting özelliğini kullanarak, herhangi bir ip’den ve herhangi bir url’e yapılan istek sayısı, kullanıcıların connection sayısı, bantwidth sınırlama gibi bir çok veriye göre limitleme yapılabilmektedir. Rate Limiting tanımları ile hatalı girişlerde kullanıcının karşısına bilgilendirme sayfası çıkarma ya da başka bir sayfaya yönlendirme işlemleri de yapılabilmektedir.

Şekil 1- Rate Limiting AppExpert altında yer alır.
SELECTORS
Selectors kısmında hangi verilere göre limitleme yapacağımızı belirliyoruz( Source Ip, Url ).
- Herhangi bir IP’den herhangi bir URL’e yapılan istekler için yazılması gereken expression lar aşağıdaki gibidir.
CLIENT.IP.SRC , HTTP.REQ.URL
- Herhangi bir IP’den belirli bir URL’e yapılan istekler için yazılması gereken expression lar aşağıdaki gibidir.
CLIENT.IP.SRC , HTTP.REQ.URL.EQ(“/index.html”)
ÖRNEK
Bu makalede herhangi bir IP adresinden herhangi bir URL’e 100 saniye içinde yapılan 5 hatalı giriş isteği sonrasında kullanıcının ekranına hatalı giriş denemelerinden dolayı bilgilendirme notu çıkartacağız.
1.Bunun için önce Selectors tabını seçerek ADD ile yeni bir limit selector oluşturuyoruz.

Şekil 2- Yeni selector oluşturulurken karşımıza çıkan ilk ekran
2.Selector’e bir isim verip Insert seçeneği ile gerekli expression ları ekliyoruz.
Ekspressionları ekspression alanına kendimiz de yazabildiğimiz gibi sağ üst köşedeki Expression Editor
ile de yapabiliriz.

Şekil 3- Insert Ekran Görüntüsü

Şekil 4 – Client Ip için oluşturulan expression
Bu adımda DONE seçeneğini seçtikten sonra karşımıza çıkan Insert seçeneğini de seçerek Client IP için oluşturduğumuz expression ı tamamlıyoruz.

Şekil 5 – URL için oluşturulan expression
Bu adımda Done seçeneğini seçtikten sonra karşımıza çıkan Insert seçeneğini de seçerek URL için oluşturduğumuz expression ı tamamlıyoruz.

Şekil 6 – Expression Editor Son Hali
Expression ını yazdıktan sonra insert ile expressionı tamamlıyoruz. Bu işlemden sonra karşımıza aşağıdaki selector sayfası geliyor. Burada Create şeçeneği ile Selector ü oluşturuyoruz.
LIMIT IDENTIFIER
Limit Identifier kısmında belirli bir süre içinde kaç adet hatalı girişi denemesinden sonra aksiyon alınması için gerekli parametreleri giriyoruz. Burada;
Threshold: Hatalı giriş sayısı
Time Slice(msec): Zaman aralığı
Aşağıda 100 saniye içinde 5 hatalı giriş denemesini tanımlamak için oluşturulmuş limit identifierı görebilirisiniz.

Şekil 7 – Limit Identifier Oluşturma
RATE LIMIT RESPONDER OLUŞTURMA
Rate limiting için oluşturduğumuz tanımlardan sonra bu tanımları responder policy yazarken kullanmamız gerekiyor. Bunun için önce Responder kısmından Action oluşturuyoruz.

Şekil 8 – Rate Limiting için Responder Action Oluşturma
Oluşturduğumuz bu Actionda hatalı giriş denemelerinden sonra kullanıcı ekranına Expression kısmında yazan formatta bir bilgilendirme çıkacaktır. Ancak Type kısmından Respond with yerine Respond with HTML Page seçeneğini seçerek kullanıcı ekranına kendi oluşturduğumuz bir HTML sayfası çıkartabileceğimiz gibi Redirect seçeneğini seçerek başka bir sayfaya da yönlendirebiliriz.
Action oluşturduktan sonra Responder Policy oluşturup oluşturduğumuz Action’ı bu Policy ile ilişkilendirmemiz gerekiyor. Yazacağımız expressionda ise oluşturduğumuz Limit Identifierı göstermemiz gerekiyor. Expression Editor ile aşağıdaki expressionı oluşturuyoruz. Done ile kaydettikten sonra Şekil-10 daki ekran görüntüsü karşımıza çıkıyor ve Create ile Responder Policymizi tamamlıyoruz.

Şekil 9 – Expression Editör İle Expression Oluşturma

Şekil 10 – Responder Policy Son Hali
Oluşturduğumuz Responderı ilgili Virtual Serverla ilişkilendirdiğimizde işlemimizi tamamlamış oluyoruz. 5 hatalı denemeden sonra 6. Hatalı isteğimizde aşağıdaki ekran karşımıza gelecektir.