Metin CAPTCHA (ImageToText)
ve CapMonster Cloud

CAPTCHA çözümü, siteye entegrasyon ve testler.

Metin CAPTCHA (ImageToText) çözümünün fiyatlandırması

CAPTCHA
Fiyat (USD)
$ 0.30
1000 jeton
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 Metin CAPTCHA (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, Metin CAPTCHA (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
Entegrasyon sonrası, metin CAPTCHA’nın formu gerçekten koruduğundan emin olun.
Güvenlik ve optimizasyon önerileri
Doğru CAPTCHA cevabını sadece <span class="font-bold">sunucuda</span> 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ı

ImageToText CAPTCHA hakkında sık sorulan sorular

  • CAPTCHA yanıtlarını yalnızca sunucuda saklayın, örneğin bellekte, Redis'te veya bir veritabanında, ve bunları asla istemciye açığa çıkarmayın.
  • Her CAPTCHA'yı benzersiz bir oturuma veya tek kullanımlık bir tokena bağlayın, böylece istekler arasında yeniden kullanılamaz.
  • Eski kodların otomatik olarak geçersiz olması için kısa bir sona erme süresi belirleyin, örneğin 1–2 dakika.
  • Başarılı doğrulamadan hemen sonra CAPTCHA'yı geçersiz kılarak tek kullanımlık hale getirin.
  • Deneme sayısını sınırlayın ve aynı görseli yeniden kullanmak yerine her başarısız denemeden sonra yeni bir CAPTCHA oluşturun.
  • Her CAPTCHA'yı bir IP adresine, oturuma veya çereze bağlayarak istekler arası kötüye kullanımı önleyin.
  • Saldırı kalıplarını tespit etmek ve eşikleri ayarlamak için zaman damgası, IP ve red nedeni dahil CAPTCHA oluşturma ve doğrulama hatalarını günlüğe kaydedin.
  • Form verilerini ve CAPTCHA yanıtlarını aktarım sırasında korumak için her zaman HTTPS kullanın.
  • Otomatik çözmeyi zorlaştırmak için yazı tipleri, bozulma ve gürültü gibi zorluk oluşturma ayarlarını düzenli olarak güncelleyin.

CAPTCHA görseli boşsa veya yüklenmiyorsa, sunucu tarafı oluşturma endpoint'inin görseli doğru şekilde oluşturduğunu, istemciye düzgün şekilde döndürdüğünü ve endpoint URL'sinin doğru olduğunu kontrol edin.

Kullanıcılar doğru kodu girer ancak doğrulama başarısız olursa, CAPTCHA'nın sayfa yüklemesi ile form gönderimi arasında yeniden oluşturulmadığından emin olun.

Saklanan CAPTCHA değerinin doğrulama sırasında kullanılan aynı oturuma veya tokena bağlı olduğunu doğrulayın.

CAPTCHA'nın gönderimden önce süresinin dolup dolmadığını kontrol edin; süresi dolmuş bir kod, giriş doğru olsa bile uyuşmazlığa neden olur.

Zorunlu type ve body alanlarına ek olarak, tanımayı ince ayarlamak için beş isteğe bağlı parametre kullanabilirsiniz:

  • recognizingThreshold: Güven eşiğini kontrol etmek için 0 ile 100 arasında bir değer belirleyin; düşük değerler daha fazla sonucu kabul eder, yüksek değerler daha katıdır.
  • case: CAPTCHA büyük/küçük harfe duyarlıysa true olarak ayarlayın
  • numeric: Görsel yalnızca rakam içeriyorsa 1 olarak ayarlayın
  • math: Görsel bir matematik ifadesi içeriyorsa true olarak ayarlayın
  • capMonsterModule: Desteklenen sağlayıcılar için doğruluğu artırmak üzere yandex gibi bir tanıma modülü belirtin. Modüllerin tam listesi için belgelere bakın.

Akılda tutulması gereken önemli bir istisna var: capMonsterModule parametresi aracılığıyla captcha_math modülünü kullanırken aynı istekte math: true ayarlamamalısınız. CAPTCHA görselinin matematik ifadesi içerdiği diğer tüm modüller için math: true ayarlamak, çözücüye ham karakter dizisi yerine sayısal sonucu değerlendirip döndürmesini söyler. Daha fazla bilgi