website/docs/webmasters/terminology/index.html

36 lines
14 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.f998e900ad1763639b2de999d219c60a588fb531888a0672d99b77aca3c151f84bdf80fcc8ca4046d0c23b9d5873eb2d32c59c17011fead4bedea7bc2b062d61.css integrity="sha512-+ZjpAK0XY2ObLemZ0hnGCliPtTGIigZy2Zt3rKPBUfhL34D8yMpARtDCO51Yc+stMsWcFwEf6tS+3qe8KwYtYQ==" 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 1111.21 3 7 7 0 0021 12.79z"/></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"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></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 00-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44.0 0020 4.77 5.07 5.07.0 0019.91 1S18.73.65 16 2.48a13.38 13.38.0 00-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07.0 005 4.77 5.44 5.44.0 003.5 8.55c0 5.42 3.3 6.61 6.44 7A3.37 3.37.0 009 18.13V22"/></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/ansible/>Using Ansible</a></li><li><a class=docs-link href=/docs/self-hosting/docker/>Using Docker</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 114 4L7.5 20.5 2 22l1.5-5.5L17 3z"/></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.993b2b4c58b07e7a4bb3423cf18ccd78a85d0063680c0fc9bf6d9cc02be98e08793034d984dd8f7c60ad5b70f3186cc8bc280b1077b7e37c2d64f36f118099bb.js integrity="sha512-mTsrTFiwfnpLs0I88YzNeKhdAGNoDA/Jv22cwCvpjgh5MDTZhN2PfGCtW3DzGGzIvCgLEHe343wtZPNvEYCZuw==" crossorigin=anonymous defer></script><script src=/index.min.54509ba7c5e639f5ec4ae9409f76e99f01de45aae0c450b398bb04083016dc4213a82a49528708fd7d36c22e60debacd894f3dbdc3a30fa796132f9a541ccdab.js integrity="sha512-VFCbp8XmOfXsSulAn3bpnwHeRargxFCzmLsECDAW3EITqCpJUocI/X02wi5g3rrNiU89vcOjD6eWEy+aVBzNqw==" crossorigin=anonymous defer></script></body></html>