website/docs/webmasters/terminology/index.html

304 lines
15 KiB
HTML

<!doctype html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="preload" as="font" href="/fonts/vendor/jost/jost-v4-latin-regular.woff2" type="font/woff2" crossorigin>
<link rel="preload" as="font" href="/fonts/vendor/jost/jost-v4-latin-700.woff2" type="font/woff2" crossorigin>
<link rel="stylesheet" href="/main.b63ce50dfa61fad6110b3083ff8c73329c5faa56efa9fce74542ba32665b6f205859f41203427020164409ce1a5ad12d0114f490f7a4b511dc1f99b633255661.css" integrity="sha512-tjzlDfph&#43;tYRCzCD/4xzMpxfqlbvqfznRUK6MmZbbyBYWfQSA0JwIBZECc4aWtEtART0kPektRHcH5m2MyVWYQ==" crossorigin="anonymous">
<noscript><style>img.lazyload { display: none; }</style></noscript>
<meta name="robots" content="index, follow">
<meta name="googlebot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1">
<meta name="bingbot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1">
<title>Terminology - mCaptcha</title>
<meta name="description" content="Information about terminology used in mCaptcha, some of which unique to the project">
<link rel="canonical" href="/docs/webmasters/terminology/">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="/icon.png">
<meta name="twitter:title" content="Terminology">
<meta name="twitter:description" content="Information about terminology used in mCaptcha, some of which unique to the project">
<meta name="twitter:site" content="@">
<meta name="twitter:creator" content="@">
<meta property="og:title" content="Terminology">
<meta property="og:description" content="Information about terminology used in mCaptcha, some of which unique to the project">
<meta property="og:type" content="article">
<meta property="og:url" content="/docs/webmasters/terminology/">
<meta property="og:image" content="/icon.png"/>
<meta property="article:published_time" content="2022-07-27T08:48:45+00:00">
<meta property="article:modified_time" content="2023-10-27T21:39:40+05:30">
<meta property="og:site_name" content="mCaptcha">
<meta property="article:publisher" content="https://www.facebook.com/">
<meta property="article:author" content="https://www.facebook.com/">
<meta property="og:locale" content="en_US">
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [{
"@type": "ListItem",
"position": 1 ,
"name": "Home",
"item": "\/"
},{
"@type": "ListItem",
"position": 2 ,
"name": "Docswebmastersterminology",
"item": "\/docswebmastersterminology\/"
}]
}
</script>
<meta name="theme-color" content="#fff">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/site.webmanifest">
</head>
<body class="docs single">
<div class="header-bar fixed-top"></div>
<header class="navbar fixed-top navbar-expand-md navbar-light">
<div class="container">
<input class="menu-btn order-0" type="checkbox" id="menu-btn">
<label class="menu-icon d-md-none" for="menu-btn"><span class="navicon"></span></label>
<a class="navbar-brand order-1 order-md-0 me-auto" href="/">mCaptcha</a>
<button id="mode" class="btn btn-link order-2 order-md-4" type="button" aria-label="Toggle mode">
<span class="toggle-dark"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-moon"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path></svg></span>
<span class="toggle-light"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-sun"><circle cx="12" cy="12" r="5"></circle><line x1="12" y1="1" x2="12" y2="3"></line><line x1="12" y1="21" x2="12" y2="23"></line><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line><line x1="1" y1="12" x2="3" y2="12"></line><line x1="21" y1="12" x2="23" y2="12"></line><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line></svg></span>
</button>
<ul class="navbar-nav social-nav order-3 order-md-5">
<li class="nav-item">
<a class="nav-link" href="https://github.com/mCaptcha"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-github"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22"></path></svg><span class="ms-2 visually-hidden">GitHub</span></a>
</li>
</ul>
<div class="collapse navbar-collapse order-4 order-md-1">
<ul class="navbar-nav main-nav me-auto order-5 order-md-2"><li class="nav-item">
<a class="nav-link" href="/blog/">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/community/">Community</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/contact/">Contact</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item active">
<a class="nav-link" href="/docs/webmasters/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
<form class="navbar-form flex-grow-1 order-7 order-md-3">
<input id="userinput" class="form-control is-search" type="search" placeholder="Search docs..." aria-label="Search docs..." autocomplete="off">
<div id="suggestions" class="shadow bg-white rounded"></div>
</form>
</div>
</div>
</header>
<div class="wrap container" role="document">
<div class="content">
<div class="row flex-xl-nowrap">
<div class="col-lg-5 col-xl-4 docs-sidebar">
<nav class="docs-links" aria-label="Main navigation">
<h3>Webmasters</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/webmasters/installing-captcha/">Installing mCaptcha on your website</a></li>
<li><a class="docs-link" href="/docs/webmasters/configuring-difficulty-factor/">Configuring Difficulty Factor</a></li>
<li><a class="docs-link active" href="/docs/webmasters/terminology/">Terminology</a></li>
<li><a class="docs-link" href="/docs/webmasters/faq/">Webmasters FAQ</a></li>
</ul>
<h3>User Manual</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/user-manual/cli/">CLI tool</a></li>
<li><a class="docs-link" href="/docs/user-manual/how-to-mcaptcha-without-js/">Use mCaptcha without JavaScript</a></li>
</ul>
<h3>Self-Hosting</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/self-hosting/getting-started/">Getting started</a></li>
<li><a class="docs-link" href="/docs/self-hosting/bare-metal/">Deploy bare metal</a></li>
<li><a class="docs-link" href="/docs/self-hosting/docker/">Using Docker</a></li>
<li><a class="docs-link" href="/docs/self-hosting/dependencies/">Database and cache</a></li>
</ul>
<h3>API</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/api/browser/">Browser libraries</a></li>
<li><a class="docs-link" href="/docs/api/mcaptcha-system/">mCaptcha System Library</a></li>
<li><a class="docs-link" href="/docs/api/pow-sha256/">pow_sha256</a></li>
</ul>
<h3>Help</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/help/troubleshooting/">Troubleshooting</a></li>
<li><a class="docs-link" href="/docs/help/faq/">FAQ</a></li>
</ul>
</nav>
</div>
<nav class="docs-toc d-none d-xl-block col-xl-3" aria-label="Secondary navigation">
<div class="page-links">
<h3>On this page</h3>
<nav id="TableOfContents">
<ul>
<li><a href="#authorization-token">Authorization token</a></li>
<li><a href="#cooldown-period">Cooldown Period</a></li>
<li><a href="#difficulty-factor">Difficulty Factor</a></li>
<li><a href="#sitekey">Sitekey</a></li>
<li><a href="#visitor-threshold">Visitor Threshold</a></li>
</ul>
</nav>
</div>
</nav>
<main class="docs-content col-lg-11 col-xl-9 mx-xl-auto">
<h1>Terminology</h1>
<p class="lead"></p>
<h2 id="authorization-token">Authorization token<a href="#authorization-token" class="anchor" aria-hidden="true">#</a> </h2>
<p>When a visitor solves the CAPTCHA and sends their solution to an
mCaptcha instance, the solution will be verified for correctness. If the
solution is correct, mCaptcha will return a single use authorization token.</p>
<p>This authorization token should be attached to the visitor&rsquo;s requited to the
protected service and the protected service should validity of the
authorization token with the mCaptcha instance and only allow authorization to
protected resource if the authorization token is valid.</p>
<h2 id="cooldown-period">Cooldown Period<a href="#cooldown-period" class="anchor" aria-hidden="true">#</a> </h2>
<p>mCaptcha implements leaky bucket algorithm to measure
current traffic levels. Cooldown period specifies the leak or the time
after which a visitor addition is decremented.</p>
<p>For instance, if initial traffic level is 0 and a user visits one
second later, the traffic level will be incremented to 1. Now, if the
cooldown period is set to 30 seconds, the traffic level will be
decremented after 30 seconds. So after 30 seconds, the traffic level will
go from 1 to 0.</p>
<h2 id="difficulty-factor">Difficulty Factor<a href="#difficulty-factor" class="anchor" aria-hidden="true">#</a> </h2>
<p>Difficulty factor determines the time it takes to solve a CAPTCHA. The
higher the difficulty factor, the longer it will take to generate a
proof of work for it to solve the CAPTCHA.</p>
<p>mCaptcha&rsquo;s proof of work based mechanism makes it highly accessible to
people with special needs but it is important to choose the difficulty factor
with care as very high difficulty factors will make the CAPTCHA
inaccessible to users on slow devices.</p>
<h2 id="sitekey">Sitekey<a href="#sitekey" class="anchor" aria-hidden="true">#</a> </h2>
<p>Site key is a unique identifier associated with CAPTCHA configurations
created on mCaptcha. It is required to integrate a CAPTCHA with your
website.</p>
<h2 id="visitor-threshold">Visitor Threshold<a href="#visitor-threshold" class="anchor" aria-hidden="true">#</a> </h2>
<p>mCaptcha&rsquo;s variable difficulty factor mechanism requires a website&rsquo;s traffic
statistics be split into levels, so that it can deploy the right
difficulty factor for each level.</p>
<p>Visitor threshold is used to traffic into levels and mCaptcha accepts a
difficulty configuration for each of these levels. When current traffic
exceeds a difficulty factor, mCaptcha will increase the difficulty
factor to the next configured level.</p>
<p>For instance, consider the configuration given below:</p>
<ul>
<li>Cool down period: 30 seconds</li>
</ul>
<table>
<thead>
<tr>
<th>Level</th>
<th>Difficulty Factor</th>
<th>Visitor Threshold</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>5,000</td>
<td>2,000</td>
</tr>
<tr>
<td>2</td>
<td>50,000</td>
<td>5,000</td>
</tr>
<tr>
<td>3</td>
<td>500,000</td>
<td>10,000</td>
</tr>
<tr>
<td>4</td>
<td>5,000,000</td>
<td>15,000</td>
</tr>
</tbody>
</table>
<p>If the website sees 2,000 requests in a 30 second window, level 1
difficulty factor(5,000) will be deployed. If the traffic increases to
5,000 requests in a 30 second window, then difficulty factor will be
upgraded to level 2(50,000). Likewise 10,000 and 15,000 requests over 30
seconds will result in difficulty factor being upgraded to 500,000 and
5,000,000 respectively.</p>
<p>Visitor threshold is how mCaptcha determines which difficulty factor
level to deploy. mCaptcha uses leaky bucket algorithm to keep the
visitor threshold constantly updated within the configured cool down
period. So, at any given moment the, the current visitor level will be
the amount of traffic that was served in the cool down period specified.</p>
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/docs/webmasters/terminology/index.md"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-edit-2"><path d="M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"></path></svg>Edit this page on git.batsense.net</a></p>
<div class="docs-navigation d-flex justify-content-between">
<a href="/docs/user-manual/how-to-mcaptcha-without-js/">
<div class="card my-1">
<div class="card-body py-2">
&larr; Use mCaptcha without JavaScript
</div>
</div>
</a>
<a class="ms-auto" href="/docs/webmasters/faq/">
<div class="card my-1">
<div class="card-body py-2">
Webmasters FAQ &rarr;
</div>
</div>
</a>
</div>
</main>
</div>
</div>
</div>
<footer class="footer text-muted">
<div class="container">
<div class="row">
<div class="col-lg-8 order-last order-lg-first">
<ul class="list-inline">
<li class="list-inline-item">Powered by <a href="https://gohugo.io/">Hugo</a>, and <a href="https://getdoks.org/">Doks</a></li>
</ul>
</div>
<div class="col-lg-8 order-first order-lg-last text-lg-end">
<ul class="list-inline">
<li class="list-inline-item"><a href="/about/">About</a></li>
<li class="list-inline-item"><a href="/donate">Donate</a></li>
<li class="list-inline-item"><a href="/privacy-policy/">Privacy</a></li>
<li class="list-inline-item"><a href="/security">Security</a></li>
<li class="list-inline-item"><a href="https://stats.uptimerobot.com/GK7VLFJnBl">Status</a></li>
<li class="list-inline-item"><a href="/thanks">Thanks</a></li>
</ul>
</div>
</div>
</div>
</footer>
<script src="/main.min.bc2465e4e1abda257c622bf89b85235da437778b3e3f80e01762312382cc27d4e50a8a4de22e464dc82e3a61039da8aef9d6d5e62b76711fa93d9663860b1926.js" integrity="sha512-vCRl5OGr2iV8Yiv4m4UjXaQ3d4s&#43;P4DgF2IxI4LMJ9TlCopN4i5GTcguOmEDnaiu&#43;dbV5it2cR&#43;pPZZjhgsZJg==" crossorigin="anonymous" defer></script>
<script src="/index.min.39f65050268d816f7a57ee89577dd6b7c861ed858fdbfd100931444f0bb1609ea23d7d4ddc1997c8401f4553ca412051d7fd12a5b0a675c6053b7d9dc9c2cc98.js" integrity="sha512-OfZQUCaNgW96V&#43;6JV33Wt8hh7YWP2/0QCTFETwuxYJ6iPX1N3BmXyEAfRVPKQSBR1/0SpbCmdcYFO32dycLMmA==" crossorigin="anonymous" defer></script>
</body>
</html>