Bu kullanışlı Python kitaplığı ile hemen kendi CAPTCHA testlerinizi yapın.

Python Kullanarak CAPTCHA Nasıl Oluşturulur?

2000’lerin başında tanıtılan CAPTCHA’lar, onlarca yıldır kullanıcıları rahatsız ediyor. Bir otobüsün resimlerini bulmaktan garip bir harf dizisini girmeye veya matematik problemlerini çözmeye kadar, sitelerin robot olmadığınızı kanıtlamanızı istediği birçok yol vardır.

Ancak CAPTCHA’nın nasıl çalıştığını ve web sitelerinin sizi neden onları çözmeye zorladığını hiç merak ettiniz mi?

CAPTCHA Nedir?

CAPTCHA, Computers and Humans Apart’ı anlatmak için Tamamen Otomatik Halka Açık Turing testi anlamına gelir. Adından da anlaşılacağı gibi, insanlar ve bilgisayarlar arasında ayrım yapar.

CAPTCHA’nın temel konsepti, kalıpları tanımak için bilgisayar zekasının eksikliğine dayanır. Bir bilgisayar harfleri tanıyabilir, ancak harflerin değiştirildiği veya çok fazla arka plan gürültüsüyle birlikte bulunduğu durumlarda tanıyamaz. Bu arada insanlar, nesiller boyunca kalıpları bir güvenlik mekanizması olarak tespit etmek ve tanımlamak için kablolanmıştır.

CAPTCHA Türleri

CAPTCHA çeşitli türlerde gelir, bunlardan birkaçı:

1. Metin Tabanlı Resim CAPTCHA

Metin tabanlı CAPTCHA, bir dizi kelime veya kelime öbeği veya farklı harf, sayı ve sembollerin rastgele bir kombinasyonunu kullanır. Yorumlanması biraz zor olan yabancılaştırılmış bir biçimde bir dizi karakteri temsil eder.

Bunlar arasında bozulma, döndürme, çevirme, yalpalama, büyük harf kullanımı ve bitişik karakterlerle örtüşme yer alır. Bu tekniği geliştirmek için, bir CAPTCHA, görüntü boyunca yayılmış, rastgele bir şekilde çizgiler, yaylar veya noktalar gibi grafikler içerebilir.

2. Ses CAPTCHA

Audio CAPTCHA, metin tabanlı CAPTCHA’lara bir alternatif olarak hizmet eder ve görme engelli kullanıcılara hitap eder. Audio CAPTCHA, kullanıcının doğru girmesi gereken bir dizi harf veya sayının ses kaydını sunar. Yine, bu sefer ek arka plan gürültüsü şeklinde bozulma var. Unutulmaması gereken ilginç bir nokta, Python CAPTCHA modülünün yalnızca sayılarla çalışmasıdır.

3. Resim CAPTCHA

Resim CAPTCHA’ları, metin tabanlı resim CAPTCHA’larına bir alternatiftir. Bunlar, günlük olarak ele alacağınız tipik CAPTCHA’lardır.

Bu CAPTCHA’lar, tekne, kamyon veya yangın musluğu gibi belirli bir nesneyi tanımlamanızı ister. Bunları, seçilebilecek diğer görüntülerin yanında sunarlar. Bunlar, metin tabanlı testlerden çok daha insan dostudur ve botların tanıması daha zordur.

4. Matematik, Kelime Problemi ve Bulmaca CAPTCHA

Matematik CAPTCHA’ları genellikle 17 + 23, 16 * 10 veya 30/10 gibi grafik öğeleri eklenmiş basit bir aritmetik problemi temsil eder.

Sözcük Problemi CAPTCHA, bir dizi sözcük veya ilgili öğe sunar ve sizden boşlukları uygun yanıtla doldurmanızı ister.

Puzzle CAPTCHA, eksik parçanın görüntüyü tamamlaması için bir çubuğu doğru uzunluğa kaydırmak gibi mini bir yapbozun çözülmesini içerir.

5. CAPTCHA ReCAPTCHA Yok

Google, botları önlemek için gelişmiş risk analizi ve uyarlanabilir zorluklar kullanan ReCAPTCHA’nın sahibidir. ReCAPTCHA, Google Street View, gazeteler, kitaplar ve daha fazlasından içerik alır.

Hiçbir CAPTCHA ReCAPTCHA, sizden herhangi bir testten geçmenizi istemeden “Ben robot değilim” seçeneğini işaretlemenizi gerektirmez. Bu, hareketleri izlediği ve tıklamayı tanımladığı için mümkündür. Unutulmaması gereken bir şey, ReCAPTCHA’nın özel bilgilerinizi de yakalamasıdır.

Python CAPTCHA modülünü kullanmanın yanı sıra HTML, CSS ve JS kullanarak bir CAPTCHA doğrulama formu oluşturabilirsiniz .

Python CAPTCHA Modülü

Python, kısa sürede metin tabanlı görüntü ve ses CAPTCHA’ları oluşturmanıza yardımcı olan CAPTCHA adlı harika bir modülle birlikte gelir. Modül yerleşik bir yazı tipi stili ve sesi sunsa da, CAPTCHA’ları daha da özelleştirmek için ses ve yazı tipi verilerinizi kullanabilirsiniz.

CAPTCHA modülünü Python ortamınıza kurmak için Terminal penceresini açın ve şunu yazın:

Python Kullanarak Metin Tabanlı Bir Resim CAPTCHA Nasıl Oluşturulur

Özelleştirilmiş metin tabanlı görüntü ve ses CAPTCHA oluşturmaya yönelik kaynak kodunun tamamı bu GitHub deposunda mevcuttur .

Python kullanarak metin tabanlı bir resim CAPTCHA oluşturmak için şu adımları takip edebilirsiniz:

captcha.image içinde bulunan ImageCaptcha modülünü içe aktarın.

# importing the required libraries

from captcha.image import ImageCaptcha

CAPTCHA’nız için özel bir genişlik ve yükseklik belirleyin ve bunun bir örneğini oluşturun.

# specify dimensions

image = ImageCaptcha(width = 300, height = 100)

Bir metin tabanlı CAPTCHA biçimine dönüştürmek için input() işlevini kullanarak bir dizi karakteri kullanıcı girişi olarak alın.

# enter the text to create its captcha

captcha_text = input(“Please enter text: “)

CAPTCHA’yı oluşturmak için kullanıcıdan aldığınız metni image.generate() dosyasına iletin.

# generate the text-based captcha

data = image.generate(captcha_text)

Oluşturulan görüntüyü CAPTCHA’yı kaydetmek için CAPTCHA metnini ve uzantısıyla birlikte görüntü dosyası adını image.write() öğesine iletin.

# save the captcha image file

image.write(captcha_text, (captcha_text) + “.png”)

Python Kullanarak Metin Tabanlı Görüntü CAPTCHA Çıktısı

Bu modülün en iyi özelliklerinden biri, aynı metni farklı renk, stil ve eğrilikte oluşturmasıdır. Bunlar oluşturulan örneklerden birkaçı.

Captcha’dan Yararlanın

Bu, aynı program aracılığıyla oluşturulan bir başka büyüleyici tasarımdır.

Captcha Alt’ı Kullanın

Python Kullanarak Ses CAPTCHA Nasıl Oluşturulur

Python kullanarak bir ses CAPTCHA oluşturmak için şu adımları izleyin:

AudioCaptcha modülünü captcha.audio’dan içe aktarın.

# importing the required libraries

from captcha.audio import AudioCaptcha

AudioCaptcha() örneğini oluşturun.

# creating an audio instance

audio = AudioCaptcha()

Ses CAPTCHA’sını oluşturmak için input() işlevini kullanarak kullanıcı girişi olarak rakamları alın .

# audio captcha number, eg: 32135

captcha_text = input(“Please enter number: “)

CAPTCHA’yı oluşturmak için kullanıcıdan aldığınız metni audio.generate() dosyasına iletin .

# generate the audio-based captcha

audio_data = audio.generate(captcha_text)

Oluşturulan ses CAPTCHA’sını kaydetmek için CAPTCHA metnini ve ses dosyası adını uzantısıyla birlikte audio.write() öğesine iletin .

# save the audio file

audio.write(captcha_text, “audio”+captcha_text+’.wav’)

970322 numaralarını girerseniz , bu ses CAPTCHA programı, bir grup arka plan gürültüsüyle rakamları sırayla söyleyen bir audio970322.wav dosyası oluşturacaktır.

CAPTCHA’nın Birçok Kullanımı

Bir CAPTCHA’nın birincil işlevi, bir web sitesindeki botlar tarafından spam ve kötüye kullanımı önlemektir. Botların onları olumsuz yanıtlarla doldurmasını önleyerek çevrimiçi anketlerin doğruluğunu korumaya yardımcı olurlar. Kaba kuvvet saldırılarına karşı bir koruma katmanı görevi görürler ve bir kullanıcının bir web sitesinde oturum açmaya çalışma sayısını kısıtlarlar.

CAPTCHA ayrıca otomatik yorumların önlenmesine yardımcı olabilir ve çözülmesi güç olan ödeme ağ geçitlerinin güvenliğini sağlamaya yardımcı olabilir.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir