logo
bars

Metin CAPTCHA (ImageToText)
ve CapMonster Cloud

CAPTCHA çözümü, siteye entegrasyon ve testler.
Captcha veya başka bir koruma katmanı olan bir site devraldınız ama kaynak koda erişemiyor musunuz? O zaman hangi çözümün kurulu olduğunu, doğru ayarlanıp ayarlanmadığını ve nasıl test edileceğini bilmek istersiniz.

Bu makalede tüm önemli sorulara cevap vermeye çalıştık. Bir problemi çözmeye başlamanın ilk adımı, hangi koruma sisteminin kullanıldığını belirlemektir. Bunun için, görsel örneklerin ve neyle karşı karşıya olduğunuzu hızlıca anlamanıza yardımcı olabilecek temel işaretlerin yer aldığı popüler captcha ve anti-bot koruma sistemleri listesine başvurabilirsiniz.

Sitenizde ImageToText kullanıldığını fark ederseniz, bir sonraki adım özelliklerini ve çalışma şeklini daha ayrıntılı incelemek olacaktır. Yine bu makalede, ImageToText sisteminin entegrasyonuna ilişkin kılavuzu da bulabilir ve böylece sitenizde nasıl çalıştığını tamamen anlayabilirsiniz. Bu da yalnızca mevcut korumayı anlamanıza değil, aynı zamanda bakımını doğru şekilde planlamanıza da yardımcı olur.

ImageToText CAPTCHA Nedir
ImageToText CAPTCHA Nedir
ImageToText CAPTCHA, siteleri korumak için klasik bir sistemdir ve görüntüden metin tanıma üzerine kuruludur. Kullanıcı, bozulmuş bir görselde gösterilen karakterleri (harfler, sayılar veya kombinasyonları) girmelidir. Bu yöntem, insan ile otomatik betikleri ayırt etmeye yardımcı olur. Kayıt, giriş, mesaj gönderme, yorum formları ve toplu otomatik istekleri önlemek için kullanılır.

CapMonster Cloud ile ImageToText CAPTCHA Nasıl Çözülür

ImageToText CAPTCHA ile formları test ederken, CAPTCHA’nın doğru çalıştığını ve düzgün entegre edildiğini kontrol etmek genellikle gerekir.
CAPTCHA’yı sitenizde manuel olarak test edebilirsiniz:
  • Formun bulunduğu sayfayı açın ve CAPTCHA’nın görüntülendiğinden emin olun.
  • CAPTCHA’yı çözmeden formu göndermeyi deneyin — sunucu bir hata döndürmelidir.
  • CAPTCHA doğru şekilde çözüldüğünde form sorunsuz gönderilmelidir.
CAPTCHA’yı otomatik olarak tanımak için, parametreleri alıp sunucularında işleyen ve hazır cevap döndüren CapMonster Cloud gibi özel servisleri kullanabilirsiniz. Bu cevabı ilgili alana yerleştirerek kullanıcı müdahalesi olmadan doğrulamayı geçebilirsiniz.

CapMonster Cloud API ile çalışma genellikle şu adımlardan oluşur:

Görev oluşturmaGörev oluşturma
arrow
API isteği göndermeAPI isteği gönderme
arrow
Sonucu almaSonucu alma
arrow
Token'ı sayfaya yerleştirmeToken'ı sayfaya yerleştirme
arrow
Hazır kütüphanelerle görüntü CAPTCHA çözümü
CapMonster Cloud servisi Python, JavaScript (Node.js) ve C# dillerinde kullanım için hazır kütüphaneler sunar.
Python
JavaScript
C#
Çözümü al, yerleştir ve formu gönder
Node.js örneği ile sayfanızdaki CAPTCHA’yı tamamen çözme döngüsü. Yaklaşımlar: HTML ve koruma sistemi parametrelerini almak için HTTP istekleri kullanmak, cevabı göndermek ve sonucu işlemek. Veya aşağıdaki örnekte olduğu gibi Playwright ile otomasyon — sayfayı aç, doğrulamayı bekle, CapMonster Cloud istemcisiyle parametreleri gönder, sonucu al, ilgili alana yerleştir (test için doğru veya yanlış verilerle deneyebilirsiniz) ve sonucu gözlemleyin.

  // npm install playwright @zennolab_com/capmonstercloud-client
  // npx playwright install chromium

import { CapMonsterCloudClientFactory, ClientOptions, ImageToTextRequest, CapMonsterModules } from '@zennolab_com/capmonstercloud-client';
import { chromium } from 'playwright';

const API_KEY = "YOUR_API_KEY"; // CapMonster Cloud API anahtarınızı girin

async function solveImageToTextAndFillField() {
    const cmcClient = CapMonsterCloudClientFactory.Create(
        new ClientOptions({ clientKey: API_KEY })
    );

    // Gerekirse bakiyeyi kontrol edin
    const balance = await cmcClient.getBalance();
    console.log("Balance:", balance);

    // 1. Playwright’i başlatın ve form sayfasını açın
    const browser = await chromium.launch({ headless: false });
    const context = await browser.newContext();
    const page = await context.newPage();
    await page.goto("https://example.com/form"); // 2. Sayfadaki CAPTCHA URL’sini alın (örn. <img> seçici ile)

    // 2. Sayfadaki CAPTCHA URL’sini alın (örn. <img> seçici ile)
    const captchaUrl = await page.getAttribute("#captcha-img", "src");

    // 3. Görüntüyü indirin ve Base64’e çevirin
    const response = await fetch(captchaUrl);
    const imageBuffer = await response.arrayBuffer();
    const imageBase64 = Buffer.from(imageBuffer).toString('base64');

    // 4. ImageToText çözümü için isteği oluşturun
    const imageToTextRequest = new ImageToTextRequest({
        body: imageBase64,
        CapMonsterModule: CapMonsterModules.YandexWave, // veya başka bir modül
        Case: true,
        numeric: 0,
        recognizingThreshold: 65,
        math: false
    });

    // 5. CAPTCHA çözümünü alın
    const result = await cmcClient.Solve(imageToTextRequest);
    console.log("Captcha solution:", result.solution.text);

    // 6. Çözümü forma yerleştirin ve gönderin
    await page.fill("#captcha-input", result.solution.text); // Kendi seçicinizi buraya yazın
    await page.click("#submit-button"); // Kendi buton seçicinizi buraya yazın
    await page.waitForLoadState("networkidle");

    console.log("CAPTCHA çözümü ile form gönderildi");

    // 7. Tarayıcıyı kapatın
    await browser.close();
}

solveImageToTextAndFillField().catch(console.error);


  
Metin CAPTCHA’yı sitenize bağlama
CAPTCHA’nın sitenizde nasıl çalıştığını tam olarak anlamak, doğrulama mantığını öğrenmek veya yeniden yapılandırmak için bu bölüm önerilir. Koruma entegrasyonu sürecini açıklayarak tüm ayrıntıları hızlıca kavramanızı sağlar.

Adım 1. Bir yaklaşım seçin

Önce CAPTCHA’yı nasıl kullanacağınızı belirleyin:

Seçenek 1 — Dış sağlayıcı

Hızlı uygulama ve minimum destek gerekiyorsa uygundur.

Avantajları:

  • Hızlı entegrasyon
  • Botlara karşı hazır koruma
  • Algoritmaları manuel güncelleme gerektirmez

Dezavantajları:

  • Dış servise bağımlılık
  • Sınırlı özelleştirme

Seçenek 2 — Özelleştirilmiş Metin CAPTCHA

Tam kontrol ve kendi entegrasyonu istiyorsanız uygundur.

Avantajları:

  • Mantık ve tasarım üzerinde tam kontrol
  • Dış bağımlılık yok
  • Belirli senaryolara uyarlanabilir

Dezavantajları:

  • Bot korumasını kendiniz uygulamanız gerekir
  • Bakım ve geliştirme gerekir

Adım 2. CAPTCHA üretimini gerçekleştirin

Dış sağlayıcı için

  • Serviste kayıt olun
  • Anahtarları alın (site key / secret key)
  • Script’i form sayfasına ekleyin

Özelleştirilmiş CAPTCHA için

  • Rastgele bir karakter dizisi oluşturun (sayı veya harf)
  • Bunu görüntüye çizin (Canvas, SVG veya sunucu tarafı)
  • Bozulmalar ekleyin: gürültü, çizgiler, karakterlerin döndürülmesi

Adım 3. CAPTCHA’yı kullanıcıya gösterin

  • CAPTCHA görselini formun yanına yerleştirin
  • Metin giriş alanı ekleyin
  • CAPTCHA yenileme butonu ekleyin

Önemli: Her yüklemede yeni bir kod oluşturulmalıdır.

Adım 4. Verileri sunucuya gönderin

Form gönderilirken gönderilecekler:

  • Kullanıcının girdiği metin
  • CAPTCHA ID veya oturum token’ı

Özelleştirilmiş CAPTCHA’da kod yalnızca sunucuda tutulmalıdır, istemciye gönderilmez.

Adım 5. Sunucuda CAPTCHA’yı doğrulayın

Dış sağlayıcı

  • CAPTCHA token’ını sağlayıcı sunucusuna gönderin
  • Doğrulama sonucunu alın (başarılı / hata)

Özelleştirilmiş CAPTCHA

  • Girilen metni saklanan değerle karşılaştırın
  • CAPTCHA geçerlilik süresini dikkate alın (örn. 1–2 dakika)

Adım 6. Karar verin

  • CAPTCHA doğruysa — işlem gerçekleştirin (giriş, kayıt, form gönderimi)
  • Değilse — hata gösterin ve yeni CAPTCHA oluşturun

Adım 7. Koruma önlemlerini güçlendirin (önerilir)

Metin CAPTCHA için bile ek önlemler önerilir:

  • Deneme sayısını sınırlayın
  • IP, oturum veya çerez ile bağlantı
  • Tek kullanımlık geçici token’lar
  • Şüpheli aktiviteleri kaydedin
Background
Olası hatalar ve hata ayıklama
Bug Icon
Görüntü CAPTCHA yüklenmiyor
(Boş resim, 404/500 veya üretim hatası) — genellikle üretim mantığındaki hatadan kaynaklanır. Sunucunun resmi doğru şekilde oluşturduğundan ve istemciye gönderdiğinden emin olun, endpoint yolu doğru olmalıdır.
Bug Icon
Geçersiz veya boş CAPTCHA kodu
Kullanıcı girdiğinin sunucuya gönderildiğini ve saklanan CAPTCHA değeriyle karşılaştırıldığını kontrol edin.
Bug Icon
Doğru girişte kodlar eşleşmiyor

Şunlardan emin olun:

  • CAPTCHA doğrulamadan önce yeniden oluşturulmasın;
  • Kod her oturum veya token için ayrı tutuluyor;
  • CAPTCHA’nın geçerlilik süresi dolmamış.
Bug Icon
CAPTCHA süresi doldu
Sunucudaki CAPTCHA TTL değerini artırın veya tekrar denemede yeni CAPTCHA oluşturun.
Korumanın dayanıklılığını test etme
Entegrasyondan sonra sistemin gerçekten otomatik işlemleri engellediğinden emin olun.
Güvenlik ve optimizasyon önerileri
Doğru CAPTCHA cevabını sadece <b>sunucuda</b> saklayın (bellek, Redis veya DB), istemciye göndermeyin.
Tek kullanımlık token veya CAPTCHA ID’leri kullanın.
Her CAPTCHA için deneme sayısını sınırlayın.
Form verilerini ve CAPTCHA cevabını gönderirken her zaman HTTPS kullanın.
CAPTCHA üretim ve doğrulama hatalarını (zaman, IP, sebep) kaydedin — hata ayıklama ve saldırı analizi kolaylaşır.
Üretim algoritmasını düzenli olarak güncelleyin (fontlar, bozulmalar, gürültü).
Sonuç

Siteye önceden kurulmuş CAPTCHA veya başka bir koruma sistemi varsa ve koda erişiminiz yoksa — endişelenmeyin! Kullanılan teknolojiyi belirlemek oldukça kolaydır. İşlevselliği test etmek için CapMonster Cloud servisini izole bir test ortamında kullanarak token işleme ve doğrulama mantığının doğru çalıştığından emin olabilirsiniz.

Görüntü CAPTCHA’sı için sistemin ne olduğunu belirlemek, davranışını incelemek ve korumanın düzgün çalıştığını doğrulamak yeterlidir. Bu makalede, görüntü CAPTCHA’sını (ComplexImage) nasıl tanıyacağınızı ve nasıl bağlayıp yeniden yapılandıracağınızı gösterdik, böylece korumayı güvenli ve kontrollü şekilde sürdürebilirsiniz.

Conclusion
Faydalı bağlantılar
DocIconCapMonster Cloud Dokümantasyonu (metin CAPTCHA çalışmaları)DocIconKendi CAPTCHA’nızı oluşturma rehberiDocIconCapMonster Cloud Kaydı