Prijzen van Tekst CAPTCHA (ImageToText)-oplossing
| Bericht | Prijs (USD) |
|---|---|
$ 0.30 1000 tokens |
In dit artikel hebben we geprobeerd antwoord te geven op alle belangrijke vragen. De eerste stap bij het oplossen van het vraagstuk is vaststellen welk beveiligingssysteem wordt gebruikt. Daarvoor kun je de lijst met populaire captcha’s en anti-botbeveiligingssystemen raadplegen, met visuele voorbeelden en kernkenmerken die je helpen snel te bepalen waarmee je te maken hebt.
Als je ontdekt dat je website Tekst CAPTCHA (ImageToText) gebruikt, is de volgende stap om de eigenschappen en werking ervan uitgebreider te bestuderen. In dit artikel vind je ook een handleiding voor het integreren van Tekst CAPTCHA (ImageToText), zodat je volledig begrijpt hoe het systeem op je website werkt. Zo kun je niet alleen de huidige bescherming beter doorgronden, maar ook het onderhoud ervan goed plannen.
Hoe ImageToText CAPTCHA op te lossen via CapMonster Cloud
- Open de pagina met het formulier en controleer of de CAPTCHA wordt weergegeven.
- Probeer het formulier te verzenden zonder de CAPTCHA op te lossen — de server moet een foutmelding geven.
- Na een succesvolle oplossing van de CAPTCHA moet het formulier zonder fouten worden verzonden.
Werken met CapMonster Cloud via de API bestaat doorgaans uit de volgende stappen:
type - ImageToTextTask
body - inhoud van het CAPTCHA-bestand, gecodeerd in base64. Zorg ervoor dat de waarde in één regel wordt verzonden, zonder regeleinden;
capMonsterModule (optioneel) - naam van de module, bijvoorbeeld “yandex”. Een alternatieve manier om de modulenaam en een lijst van alle beschikbare modules te verkrijgen vindt u hier;
U kunt ook andere optionele parameters instellen:
recognizingThreshold - herkenningsdrempel van de CAPTCHA met mogelijke waarden van 0 tot 100;
case - hoofdlettergevoeligheid bij oplossen. Mogelijke waarden: true, false;
numeric - 1 — als de CAPTCHA alleen uit cijfers bestaat. Mogelijke waarden: 0, 1;
math - false — standaard niet ingesteld;
true — CAPTCHA vereist een wiskundige bewerking (bijvoorbeeld CAPTCHA 2 + 6 geeft 8).
Belangrijk: gebruik de parameter math: true niet voor de module captcha_math.
https://api.capmonster.cloud/createTask{
"clientKey":"API_KEY",
"task": {
"type":"ImageToTextTask",
"body":"BASE64_BODY_HERE!"
}
}
{
"errorId":0,
"taskId":407533072
}https://api.capmonster.cloud/getTaskResult{
"clientKey":"API_KEY",
"taskId": 407533072
}
{
"errorId":0,
"status":"ready",
"solution": {
"text":"answer"
}
}
// 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"; // Voer uw CapMonster Cloud API-sleutel in
async function solveImageToTextAndFillField() {
const cmcClient = CapMonsterCloudClientFactory.Create(
new ClientOptions({ clientKey: API_KEY })
);
// Controleer indien nodig het saldo
const balance = await cmcClient.getBalance();
console.log("Balance:", balance);
// 1. Start Playwright en open de pagina met het formulier
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. Verkrijg de CAPTCHA-URL van de pagina (voorbeeld via <img>-selector)
// 2. Verkrijg de CAPTCHA-URL van de pagina (voorbeeld via <img>-selector)
const captchaUrl = await page.getAttribute("#captcha-img", "src");
// 3. Download de afbeelding en converteer naar Base64
const response = await fetch(captchaUrl);
const imageBuffer = await response.arrayBuffer();
const imageBase64 = Buffer.from(imageBuffer).toString('base64');
// 4. Maak een verzoek voor ImageToText-oplossing
const imageToTextRequest = new ImageToTextRequest({
body: imageBase64,
CapMonsterModule: CapMonsterModules.YandexWave, // of een andere module
Case: true,
numeric: 0,
recognizingThreshold: 65,
math: false
});
// 5. Verkrijg de CAPTCHA-oplossing
const result = await cmcClient.Solve(imageToTextRequest);
console.log("Captcha solution:", result.solution.text);
// 6. Plaats de oplossing in het formulierveld en verzend
await page.fill("#captcha-input", result.solution.text); // Vervang door uw selector
await page.click("#submit-button"); // Vervang door uw knopselector
await page.waitForLoadState("networkidle");
console.log("Formulier verzonden met CAPTCHA-oplossing");
// 7. Sluit de browser
await browser.close();
}
solveImageToTextAndFillField().catch(console.error);
Stap 1. Kies een aanpak
Bepaal eerst hoe u de CAPTCHA wilt gebruiken:
Optie 1 — externe leverancier
Geschikt als u snelle implementatie en minimale ondersteuning nodig heeft.
Voordelen:
- Snelle integratie
- Klaar voor gebruik botbescherming
- Geen handmatige algoritme-updates nodig
Nadelen:
- Afhankelijkheid van externe service
- Beperkte aanpassingsmogelijkheden
Optie 2 — aangepaste tekst CAPTCHA
Geschikt als volledige controle en integratie nodig is.
Voordelen:
- Volledige controle over logica en ontwerp
- Geen externe afhankelijkheid
- Kan worden aangepast aan specifieke scenario’s
Nadelen:
- U moet zelf botbescherming implementeren
- Onderhoud en verbeteringen zijn op termijn nodig
Stap 2. Implementeer CAPTCHA-generatie
Voor leverancier
- Registreer bij de service
- Verkrijg sleutels (site key / secret key)
- Integreer het script op de formulierpagina
Voor aangepaste CAPTCHA
- Genereer een willekeurige tekenreeks (cijfers of letters)
- Teken deze op een afbeelding (Canvas, SVG of server-side generatie)
- Voeg vervormingen toe: ruis, lijnen, rotatie van karakters
Stap 3. Toon de CAPTCHA aan de gebruiker
- Plaats de CAPTCHA-afbeelding naast het formulier
- Voeg een tekstinvoerveld toe
- Implementeer een knop om de CAPTCHA te vernieuwen
Belangrijk: elke keer dat de pagina wordt geladen, moet een nieuwe code worden gegenereerd.
Stap 4. Verstuur gegevens naar de server
Bij het verzenden van het formulier, verzend:
- De door de gebruiker ingevoerde tekst
- CAPTCHA-id of sessietoken
Voor aangepaste CAPTCHA mag de code niet op de client worden opgeslagen — alleen op de server.
Stap 5. Controleer de CAPTCHA op de server
Leverancier
- Verzend het CAPTCHA-token naar de servers van de leverancier
- Ontvang het verificatieresultaat (succes / fout)
Aangepaste CAPTCHA
- Vergelijk de ingevoerde tekst met de opgeslagen waarde
- Houd rekening met de geldigheidstermijn van de CAPTCHA (bijv. 1–2 minuten)
Stap 6. Neem een beslissing
- Als de CAPTCHA is geslaagd — voer de actie uit (login, registratie, formulier verzenden)
- Als dit niet het geval is — toon een foutmelding en genereer een nieuwe CAPTCHA
Stap 7. Versterk de beveiliging (aanbevolen)
Zelfs voor tekst-CAPTCHA wordt aanbevolen om toe te voegen:
- Beperking van het aantal pogingen
- Koppeling aan IP, sessie of cookie
- Tijdelijke (eenmalige) tokens
- Log verdachte activiteiten
Controleer dat:
- De CAPTCHA niet wordt hergegenereerd voor verificatie;
- De code afzonderlijk wordt opgeslagen voor elke sessie of token;
- De CAPTCHA nog niet is verlopen.
Ondersteunde captchas
Als u een website heeft met een reeds geïnstalleerde CAPTCHA of een ander beveiligingssysteem en geen toegang heeft tot de code, is dat geen probleem! Het is vrij eenvoudig om te bepalen welke technologie wordt gebruikt. Voor controle van de correcte werking kunt u de CapMonster Cloud-herkenningsservice in een geïsoleerde testomgeving gebruiken om te verifiëren dat de tokenverwerking en verificatielogica correct werken.
Voor een afbeeldings-CAPTCHA volstaat het om het systeem te identificeren, het gedrag te bestuderen en te controleren dat de bescherming correct functioneert. In dit artikel hebben we laten zien hoe u een afbeeldings-CAPTCHA (ComplexImage) kunt identificeren en hoe u deze kunt aansluiten of opnieuw configureren om de bescherming veilig te onderhouden en te controleren.