EsCTasY adlı üyeden alıntı:
mesajı görüntüle
47
●3.476
arkadalarda gsitecrawler gibi crawlerdan faydalanıyor onun agent i da örnek vermek gerekirse GSiteCrawler/v1.xx rev. xxx (Google Sitemap Generator for Windows :: GSiteCrawler) şeklinde görünür. Yani piyasadaki bir çok crawlerin %90 agent i vardir. Shared Function botkontrol() As Boolean
Dim ua As String
Try
ua = My.Request.UserAgent.ToString
'shared functionda request direkt çağrılmaz. my'dan çağrılır.
Catch ex As Exception
ua = "BOT"
End Try
If ua = "BOT" Then
Return False
Else
Return True
End If
End FunctionYukarıdaki kod napıyor? Çok basit istekte bulunan programın/browser in agent bilgisini alıyor. Özellikle try catch içerisine kondu. Çünkü; Bir çok bot yazarı kimliği ile ilgili derdi olmadı için istekte bulunurken agent'i set etmez ve normal HttpWebRequest'de bulunur. Bu nedenle "Object reference not set to an instance of an object." hatası alacağımız için try catch içerisine aldık. If botkontrol() = False Then
Response.Redirect("BOT.aspx")
End IfYukarıdaki örnek basit bir örnek olup. Sağlıksız olabilir. Çünkü kötü niyetli bot agentini set ettiyse onu algılayamazsınız. Peki bunun için napabiliriz. İzin verilenler için bir wordlist.txt oluşturup onun içinde geçip geçmediğine baktırabiliriz (Yada array oluşturun.) Bunun için loglarınızdan yararlanın size gelen programların agentlarına bakın ve istediklerinizin agent bilgilerinde neler var bakın. Log larınızda hizmet aldığınız hostingden böyle bir imkan yoksa bir süre agent bilgilerini bir txt ye yada db ye yazdırıp kullabilirsiniz.
Bot içindeki kodlarda "hedef" foruma bir üye yapıyoruz.Ve onun kullanıcı adı ve şifresinide oraya yazıyoruz.O zaman bu taktik işe yaramıyor