MTCaptcha
ve CapMonster Cloud

Captcha çözümü, siteye kurulum ve test.

MTCaptcha çözümünün fiyatlandırması

CAPTCHA
Fiyat (USD)
$ 1.50
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 MTCaptcha kullanıldığını fark ederseniz, bir sonraki adım özelliklerini ve çalışma şeklini daha ayrıntılı incelemek olacaktır. Yine bu makalede, MTCaptcha 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.

MTCaptcha nedir
MTCaptcha nedir
MTCaptcha, otomatik işlemlere karşı web sitelerini koruyan, akıllı doğrulama ve captcha kullanan bir sistemdir. Öncelikle hizmet, trafiği arka planda analiz eder. Ziyaretçinin davranışı şüpheli görünüyorsa, sistem ek doğrulama için otomatik olarak metin tabanlı captcha gösterir.

MTCaptcha’yı CapMonster Cloud üzerinden nasıl çözersiniz

MTCaptcha içeren formları test ederken, captchanın düzgün çalıştığını ve doğru entegre edildiğini doğrulamanız gerekir.

Sitenize yerleştirilen captchayı manuel olarak test edebilirsiniz.

  • Form sayfasını açın ve captchanın görüntülendiğinden emin olun.
  • Çözmeden form göndermeyi deneyin — sunucu hata döndürmelidir.
  • Başarılı çözümlerden sonra form sorunsuz gönderilmelidir.

Otomatik çözüm için CapMonster Cloud gibi araçlar kullanabilirsiniz. Captcha parametrelerini alır, kendi sunucularında işler ve hazır bir token döndürür. Bu tokenı forma ekleyerek 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 MTCaptcha tanıma
CapMonster Cloud servisi, Python, JavaScript (Node.js) ve C# dillerinde rahat kullanım için hazır kütüphaneler sunar.
Python
JavaScript
C#
Çözüm, token yerleştirme ve form gönderimi
Node.js örneği ile web sayfanızda captcha'nın tam çözüm döngüsü. Olası yaklaşımlar: HTML ve captcha parametrelerini almak için HTTP istekleri kullanmak, yanıtı göndermek ve sonucu işlemek; veya otomasyon araçlarıyla (ör. Playwright) sayfayı açmak, captcha’yı beklemek, parametreleri göndermek (test için doğru veya yanlış veri gönderebilirsiniz), CapMonster Cloud istemcisi aracılığıyla sonucu almak, tokeni forma yerleştirmek ve sonucu görmek.

  // npm install playwright @zennolab_com/capmonstercloud-client
import { chromium } from 'playwright';
import { CapMonsterCloudClientFactory, ClientOptions, MTCaptchaRequest } from '@zennolab_com/capmonstercloud-client';

const API_KEY = 'YOUR_API_KEY';
const TARGET_URL = 'https://example.com';

async function main() {
  const browser = await chromium.launch({ headless: false });
  const context = await browser.newContext();
  const page = await context.newPage();

 
  let websiteKey = null;
  page.on('request', request => {
    const url = request.url();
    if (url.startsWith('https://service.mtcaptcha.com/mtcv1/api/getchallenge.json')) {
      const params = new URL(url).searchParams;
      const sk = params.get('sk');
      if (sk) {
        websiteKey = sk;
        console.log('Extracted websiteKey (sk):', websiteKey);
      }
    }
  });

  
  await page.goto(TARGET_URL, { waitUntil: 'networkidle' });

  if (!websiteKey) {
    console.error('Failed to extract websiteKey (sk) from the page');
    await browser.close();
    return;
  }

  
  const client = CapMonsterCloudClientFactory.Create(
    new ClientOptions({ clientKey: API_KEY })
  );

  
  const mtcaptchaRequest = new MTCaptchaRequest({
    websiteURL: TARGET_URL,
    websiteKey: websiteKey,
    isInvisible: false,
    pageAction: 'login'
  });

  // Captcha çözümü
  const result = await client.Solve(mtcaptchaRequest);

  
  const verifiedToken = typeof result?.solution?.value === 'string'
    ? result.solution.value
    : JSON.stringify(result.solution.token);

  console.log('VerifiedToken:', verifiedToken);

  
  // Tokeni ekleyip formu gönderiyoruz (gerekli seçici ile değiştirin)
  await page.evaluate((token) => {
    const input = document.querySelector('#mtcaptcha-verifiedtoken-1');
    if (input) input.value = token;
  }, verifiedToken);

  console.log('Token inserted into input');

  
  // await page.click('button[type="submit"]');

  await page.waitForTimeout(5000);

  await browser.close();
}

main().catch(err => {
  console.error('An error occurred:', err);
});
MTCaptcha’yı sitenize nasıl bağlarsınız
Sitenizde captcha işleyişini anlamak, doğrulama mantığını kavramak, yeniden bağlamak veya yapılandırmak için bu bölümü incelemenizi öneririz. Bu bölüm, koruma bağlantı sürecini açıklar ve tüm ayrıntıları hızlıca anlamanıza yardımcı olur.

1. Kayıt olun veya giriş yapın MTCaptcha hesabınıza.

2. Kayıttan sonra sitenizi ekleyin. İki anahtar alacaksınız.

  • Site Key — widget’ı göstermek için frontend için genel anahtar.
  • Private Key — captcha çözümlerinin doğruluğunu kontrol etmek için sunucuya özel anahtar. Yalnızca sunucuda saklayın, istemciye göndermeyin.

Örnek:

HowTo Connect image 1

3. MTCaptcha istemcisini yapılandırın:

Kodu sayfanın <head> bölümüne ekleyin.

<YOUR SITE KEY> değerini MTCaptcha panelinden aldığınız Site Key ile değiştirin.


  <head>
  <script>
    var mtcaptchaConfig = {
      sitekey: "<YOUR SITE KEY>"
    };
  
    (function() {
      var mt_service = document.createElement('script');
      mt_service.async = true;
      mt_service.src = 'https://service.mtcaptcha.com/mtcv1/client/mtcaptcha.min.js';
      (document.head || document.body).appendChild(mt_service);
  
      var mt_service2 = document.createElement('script');
      mt_service2.async = true;
      mt_service2.src = 'https://service2.mtcaptcha.com/mtcv1/client/mtcaptcha2.min.js';
      (document.head || document.body).appendChild(mt_service2);
    })();
  </script>
</head>


Captcha konteynerini <body> içine ekleyin

Captcha’yı görüntülemek istediğiniz yere (ör. form içine):

<div class="mtcaptcha"></div>

Widget otomatik olarak yüklenecektir.

HelpIcon

Hızlı entegrasyon için hazır SDK ve eklentileri kullanabilirsiniz:

  • Server-side SDKs: Java, Node.js, PHP
  • Client-side SDKs: React, React Native, Vue
  • CMS eklentileri: WordPress, Drupal

MTCaptcha ayrıca demo sayfası sunar; burada korumayı test edebilir ve ayarlayabilirsiniz.

4. Sunucu tarafı işlemleri. Verified-Token’ı istemciden alın.

Formun gizli alanından:

<input type="hidden" name="mtcaptcha-verifiedtoken" />

Veya JS ile:

mtcaptcha.getVerifiedToken() / mtcaptchaVerifiedCallback(status)

Token’i form veya istek ile sunucuya gönderin.

Token’i API üzerinden doğrulayın (sunucu doğrulaması):

GET https://service.mtcaptcha.com/mtcv1/api/checktoken?privatekey=<PRIVATE_KEY>&token=<TOKEN>
  • privatekey — özel anahtarınız (yalnızca sunucu)
  • token — istemciden token

Firewall’lı sunucular için alternatif URL:

https://service2.mtcaptcha.com/mtcv1/api/checktoken

Yanıtı işleyin:

success: true → captcha geçti, işlemi devam ettirin.

ÖrnekÖrnek
arrow

success: false → hata (token süresi dolmuş, tekrar kullanım vb.)

HelpIcon
Her verifiedToken birkaç dakika geçerlidir ve CheckToken API ile yalnızca bir kez doğrulanabilir, böylece tekrar kullanım engellenir. Token alındıktan sonra sunucunun onu doğrulaması gerekir — MTCaptcha widget’ı doğrulama için en az 50 saniye garanti eder.

Node.js modülü ile basit bir örnekNode.js modülü ile basit bir örnek
arrow

HelpIcon

MTCaptcha’nın özelliklerini daha detaylı öğrenmek için — widget özelleştirme, istemci ve sunucu ayarları, framework entegrasyonu ve diğer işlevler — resmî dokümantasyona başvurun.

Background
Olası hatalar ve hata ayıklama
Bug Icon
Geçersiz site veya anahtar
Captcha yüklenmiyor veya sunucu invalid-privatekey veya privatekey-mismatch-token döndürüyor. Doğru sitekey ve privatekey çiftini kullandığınızdan emin olun.
Bug Icon
Token eksik veya geçersiz
Hatalar missing-input-token, invalid-token, bad-request. Token değerinin sunucuya gönderildiğini ve değiştirilmediğini kontrol edin.
Bug Icon
Token süresi dolmuş (token-expired)
Token sınırlı süre için geçerlidir (genellikle ~120 saniye) ve süresi dolduğunda tekrar alınmalıdır.
Bug Icon
Token tekrar kontrolü (token-duplicate-cal)
Token yalnızca bir kez doğrulanabilir — replay saldırılarına karşı koruma.
Bug Icon
Süresi dolmuş veya devre dışı bırakılmış anahtar (expired-sitekey-or-account)
Anahtarların güncel ve hesabın aktif olduğundan emin olun.
Bug Icon
Hatanın nedenini anlamak için istek kayıtlarını etkinleştirin ve fail_codes değerlerini görüntüleyin.
Korumanın dayanıklılığını test etme
Güvenlik ve optimizasyon önerileri
<span class="font-bold">privatekey’i yalnızca sunucuda</span> saklayın — istemciye göndermeyin.
Hata nedenlerini takip etmek ve koruma atlatma girişimlerini analiz etmek için <span class="font-bold">fail_codes</span> kayıtlarını tutun.
Platform politikanız gerektiriyorsa forma <span class="font-bold">Gizlilik Politikası</span> ve <span class="font-bold">Kullanım Şartları</span> bağlantılarını ekleyin.
Sonuç

Kodu üzerinde erişiminiz olmayan, ancak üzerinde zaten bir captcha veya başka bir koruma sistemi kurulmuş bir site devraldıysanız, sorun değil! Hangi teknolojinin kullanıldığını tespit etmek oldukça kolaydır. Çalışmanın düzgün olup olmadığını kontrol etmek için ise, izole bir test ortamında CapMonster Cloud tanıma servisinden yararlanarak, jeton işleme mekanizmasının ve doğrulama mantığının doğru şekilde çalıştığından emin olabilirsiniz.

MTCaptcha söz konusu olduğunda, sistemi tanımlamak, davranışını incelemek ve korumanın düzgün çalıştığını doğrulamak yeterlidir. Bu yazıda, MTCaptcha nasıl tespit edilir ve entegrasyonu ya da yeniden yapılandırılması için talimatların nerede bulunabileceği gösterdik; böylece korumayı güvenle sürdürebilir ve çalışmasını kontrol altında tutabilirsiniz.

Conclusion

MTCaptcha hakkında sık sorulan sorular

Sitekey (sk) sayfa HTML'inde veya JavaScript'te görünmüyorsa, bulmak için ağ isteklerini inceleyin:

  1. DevTools → Network'ü açın.
  2. CAPTCHA'yı tetikleyin ve istekleri getchallenge.json ile filtreleyin.
  3. URL'den sk sorgu parametresini kopyalayın.

Otomasyon için (ör. Playwright): aynı isteği programatik olarak yakalayın, URL dizesinden sk değerini ayrıştırın ve doğrudan CapMonster Cloud MTCaptchaTask yükünüzdeki websiteKey alanına eşleyin.

MTCaptchaTask içindeki pageAction, sitenin getchallenge.json ağ isteğinde bulunan act değeriyle (sk parametresinin yanında) tam olarak eşleşmelidir. Bu eşleşme büyük/küçük harfe duyarlıdır ve özel karakterleri içerir. Site varsayılan %24 değerini kullanıyorsa, isteğinizden pageAction parametresini tamamen çıkarın. Daha fazla oku

Bu, verifiedToken backend'iniz doğrulamadan önce süresi dolduğunda olur. MTCaptcha token'ları varsayılan olarak yalnızca 60–120 saniye geçerlidir. Güvenilir çözüm, görevi oturumun başında değil, form gönderilmeden hemen önce CapMonster Cloud'da başlatmaktır.

isInvisible: true değerini yalnızca MTCaptcha widget'ı görünmez modda çalışıyorsa ayarlayın. Böyle bir modun belirtileri:

  • Sayfa yüklendiğinde onay kutusu veya görünür captcha öğesi gösterilmez.
  • Ek bir doğrulama yalnızca şüpheli veya bot benzeri davranış algılandığında görünür.

Sayfa standart görünür bir MTCaptcha widget'ı gösteriyorsa, isteğinizde isInvisible bayrağını atlayabilirsiniz.

Yanlış boolean değeri geçmek, uyumsuz çözücü mantığı nedeniyle geçersiz bir token üretecektir.

Bunu CapMonster Cloud API'sinden çözülmüş bir token'ı manuel olarak enjekte ederek yapabilirsiniz:

  1. sk ve act parametrelerinizi geçirerek Postman, bir betik veya başka bir HTTP istemcisi kullanarak CapMonster Cloud API'sinden bir çözüm isteyin.
  2. API yanıtında döndürülen solution.token değerini kopyalayın.
  3. Hedef sayfada DevTools'u açın ve gizli <input name="mtcaptcha-verifiedtoken"> alanını bulun.
  4. Token'ı alanın value özniteliğine yapıştırın ve doğrulamayı onaylamak için formu gönderin.

Alternatif olarak, sunucu tarafı doğrulama için kullanılan tam endpoint'i belirlemek üzere sayfanın ağ trafiğini inceleyebilir ve çözülmüş token'ı içeren doğrudan bir HTTP isteği gönderebilirsiniz.