logo
bars

MTCaptcha
ve CapMonster Cloud

Captcha çözümü, siteye kurulum ve test.
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
<b>privatekey’i yalnızca sunucuda</b> saklayın — istemciye göndermeyin.
Hata nedenlerini takip etmek ve koruma atlatma girişimlerini analiz etmek için <b>fail_codes</b> kayıtlarını tutun.
Platform politikanız gerektiriyorsa forma <b>Gizlilik Politikası</b> ve <b>Kullanım Şartları</b> 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