MediaWiki REL1_33
|
Demo CAPTCHA (not for production usage) and base class for real CAPTCHAs. More...
Public Member Functions | |
addFormInformationToOutput (OutputPage $out, array $formInformation) | |
Processes the given $formInformation array and adds the options (see getFormInformation()) to the given OutputPage object. | |
addFormToOutput (OutputPage $out, $tabIndex=1) | |
Uses getFormInformation() to get the CAPTCHA form and adds it to the given OutputPage object. | |
apiGetAllowedParams (&$module, &$params, $flags) | |
canSkipCaptcha ( $user, Config $config) | |
Check whether the user provided / IP making the request is allowed to skip captchas. | |
captchaTriggers ( $title, $action) | |
clearCaptcha ( $index) | |
Clear out existing captcha info from the session, to ensure it can't be reused. | |
confirmEditMerged ( $context, $content, $status, $summary, $user, $minorEdit) | |
An efficient edit filter callback based on the text after section merging. | |
confirmEmailUser ( $from, $to, $subject, $text, &$error) | |
Check the captcha on Special:EmailUser. | |
createAuthenticationRequest () | |
describeCaptchaType () | |
Describes the captcha type for API clients. | |
editShowCaptcha ( $editPage) | |
Insert the captcha prompt into an edit form. | |
getCaptcha () | |
Returns an array with 'question' and 'answer' keys. | |
getCaptchaInfo ( $captchaData, $id) | |
getError () | |
Return the error from the last passCaptcha* call. | |
getFormInformation ( $tabIndex=1) | |
Insert a captcha prompt into the edit form. | |
getMessage ( $action) | |
Show a message asking the user to enter a captcha on edit The result will be treated as wiki text. | |
increaseBadLoginCounter ( $username) | |
Increase bad login counter after a failed login. | |
injectEmailUser (&$form) | |
Inject whazawhoo @fixme if multiple thingies insert a header, could break. | |
isBadLoginPerUserTriggered ( $u) | |
Is the per-user captcha triggered? | |
isBadLoginTriggered () | |
Check if a bad login has already been registered for this IP address. | |
needCreateAccountCaptcha (User $creatingUser=null) | |
Logic to check if we need to pass a captcha for the current user to create a new account, or not. | |
onAuthChangeFormFields (array $requests, array $fieldInfo, array &$formDescriptor, $action) | |
Modify the appearance of the captcha field. | |
passCaptchaFromRequest (WebRequest $request, User $user) | |
Given a required captcha run, test form input for correct input on the open session. | |
passCaptchaLimited ( $index, $word, User $user) | |
Checks, if the user reached the amount of false CAPTCHAs and give him some vacation or run self::passCaptcha() and clear counter if correct. | |
passCaptchaLimitedFromRequest (WebRequest $request, User $user) | |
Checks, if the user reached the amount of false CAPTCHAs and give him some vacation or run self::passCaptcha() and clear counter if correct. | |
resetBadLoginCounter ( $username) | |
Reset bad login counter after a successful login. | |
retrieveCaptcha ( $index) | |
Fetch this session's captcha info. | |
setAction ( $action) | |
setTrigger ( $trigger) | |
shouldCheck (WikiPage $page, $content, $section, $context, $oldtext=null) | |
showEditFormFields (&$editPage, &$out) | |
Show error message for missing or incorrect captcha on EditPage. | |
showHelp () | |
Show a page explaining what this wacky thing is. | |
storeCaptcha ( $info) | |
Generate a captcha session ID and save the info in PHP's session storage. | |
triggersCaptcha ( $action, $title=null) | |
Checks, whether the passed action should trigger a CAPTCHA. | |
Protected Member Functions | |
addCaptchaAPI (&$resultArr) | |
getCaptchaParamsFromRequest (WebRequest $request) | |
isAPICaptchaModule ( $module) | |
keyMatch ( $answer, $info) | |
Check if the submitted form matches the captcha session data provided by the plugin when the form was generated. | |
log ( $message) | |
Log the status and any triggering info for debugging or statistics. | |
passCaptcha ( $index, $word) | |
Given a required captcha run, test form input for correct input on the open session. | |
Protected Attributes | |
string | $action |
Used to select the right message. | |
string | $trigger |
Used in log messages. | |
Static Protected Attributes | |
static | $messagePrefix = 'captcha-' |
Private Member Functions | |
badLoginKey () | |
Internal cache key for badlogin checks. | |
badLoginPerUserKey ( $username) | |
Cache key for badloginPerUser checks. | |
buildRegexes ( $lines) | |
Build regex from whitelist. | |
buildValidIPs (array $input) | |
From a list of unvalidated input, get all the valid IP addresses and IP ranges from it. | |
doConfirmEdit (WikiPage $page, $newtext, $section, IContextSource $context) | |
Backend function for confirmEditMerged() | |
filterLink ( $url) | |
Filter callback function for URL whitelisting. | |
findLinks ( $title, $text) | |
Extract a list of all recognized HTTP links in the text. | |
getLinksFromTracker ( $title) | |
Load external links from the externallinks table. | |
getWikiIPWhitelist (Message $msg) | |
Get the on-wiki IP whitelist stored in [[MediaWiki:Captcha-ip-whitelist]] page from cache if possible. | |
isIPWhitelisted () | |
Check if the current IP is allowed to skip captchas. | |
loadText ( $title, $section, $flags=Revision::READ_LATEST) | |
Retrieve the current version of the page or section being edited... | |
Private Attributes | |
boolean null | $captchaSolved = null |
Was the CAPTCHA already passed and if yes, with which result? | |
Demo CAPTCHA (not for production usage) and base class for real CAPTCHAs.
Definition at line 8 of file SimpleCaptcha.php.
|
protected |
array | &$resultArr |
Reimplemented in FancyCaptcha, MathCaptcha, QuestyCaptcha, ReCaptcha, and ReCaptchaNoCaptcha.
Definition at line 71 of file SimpleCaptcha.php.
References describeCaptchaType(), getCaptcha(), and storeCaptcha().
Referenced by confirmEditMerged().
SimpleCaptcha::addFormInformationToOutput | ( | OutputPage | $out, |
array | $formInformation ) |
Processes the given $formInformation array and adds the options (see getFormInformation()) to the given OutputPage object.
OutputPage | $out | The OutputPage object to which the form should be added |
array | $formInformation |
Definition at line 170 of file SimpleCaptcha.php.
Referenced by addFormToOutput(), and injectEmailUser().
SimpleCaptcha::addFormToOutput | ( | OutputPage | $out, |
$tabIndex = 1 ) |
Uses getFormInformation() to get the CAPTCHA form and adds it to the given OutputPage object.
OutputPage | $out | The OutputPage object to which the form should be added |
int | $tabIndex | See self::getFormInformation |
Definition at line 159 of file SimpleCaptcha.php.
References addFormInformationToOutput(), and getFormInformation().
Referenced by editShowCaptcha(), and showEditFormFields().
SimpleCaptcha::apiGetAllowedParams | ( | & | $module, |
& | $params, | ||
$flags ) |
ApiBase | &$module | |
array | &$params | |
int | $flags |
Reimplemented in ReCaptcha, and ReCaptchaNoCaptcha.
Definition at line 929 of file SimpleCaptcha.php.
References $params, isAPICaptchaModule(), and ApiBase\PARAM_HELP_MSG.
|
private |
Internal cache key for badlogin checks.
Definition at line 441 of file SimpleCaptcha.php.
References $wgRequest, and wfGlobalCacheKey().
Referenced by increaseBadLoginCounter().
|
private |
Cache key for badloginPerUser checks.
string | $username |
Definition at line 452 of file SimpleCaptcha.php.
References $username, and(), User\getCanonicalName(), and wfGlobalCacheKey().
Referenced by increaseBadLoginCounter(), and resetBadLoginCounter().
|
private |
Build regex from whitelist.
string | $lines | string from [[MediaWiki:Captcha-addurl-whitelist]] |
Definition at line 693 of file SimpleCaptcha.php.
References $line, $lines, $matches, $opt, $options, $value, and(), and wfDebug().
Referenced by filterLink().
|
private |
From a list of unvalidated input, get all the valid IP addresses and IP ranges from it.
Note that only lines with just the IP address or IP range is considered as valid. Whitespace is allowed but if there is any other character on the line, it's not considered as a valid entry.
string[] | $input |
Definition at line 422 of file SimpleCaptcha.php.
Referenced by getWikiIPWhitelist().
SimpleCaptcha::canSkipCaptcha | ( | $user, | |
Config | $config ) |
Check whether the user provided / IP making the request is allowed to skip captchas.
ConfigException |
Definition at line 1176 of file SimpleCaptcha.php.
References Config\get(), isIPWhitelisted(), and wfDebug().
Referenced by confirmEmailUser(), injectEmailUser(), needCreateAccountCaptcha(), and shouldCheck().
SimpleCaptcha::captchaTriggers | ( | $title, | |
$action ) |
Title | $title | |
string | $action | (edit/create/addurl...) |
Definition at line 479 of file SimpleCaptcha.php.
References triggersCaptcha().
SimpleCaptcha::clearCaptcha | ( | $index | ) |
Clear out existing captcha info from the session, to ensure it can't be reused.
string | $index |
Definition at line 1079 of file SimpleCaptcha.php.
References CaptchaStore\get().
Referenced by passCaptcha().
SimpleCaptcha::confirmEditMerged | ( | $context, | |
$content, | |||
$status, | |||
$summary, | |||
$user, | |||
$minorEdit ) |
An efficient edit filter callback based on the text after section merging.
RequestContext | $context | |
Content | $content | |
Status | $status | |
string | $summary | |
User | $user | |
bool | $minorEdit |
Definition at line 819 of file SimpleCaptcha.php.
References $content, $context, addCaptchaAPI(), EditPage\AS_HOOK_ERROR_EXPECTED, doConfirmEdit(), and wfDebug().
SimpleCaptcha::confirmEmailUser | ( | $from, | |
$to, | |||
$subject, | |||
$text, | |||
& | $error ) |
Check the captcha on Special:EmailUser.
MailAddress | $from | |
MailAddress | $to | |
string | $subject | |
string | $text | |
string | &$error |
Definition at line 891 of file SimpleCaptcha.php.
References $wgRequest, and(), canSkipCaptcha(), passCaptchaLimitedFromRequest(), CaptchaTriggers\SENDEMAIL, and triggersCaptcha().
SimpleCaptcha::createAuthenticationRequest | ( | ) |
Reimplemented in ReCaptcha, and ReCaptchaNoCaptcha.
Definition at line 1139 of file SimpleCaptcha.php.
References getCaptcha(), and storeCaptcha().
SimpleCaptcha::describeCaptchaType | ( | ) |
Describes the captcha type for API clients.
Reimplemented in FancyCaptcha, MathCaptcha, QuestyCaptcha, ReCaptcha, and ReCaptchaNoCaptcha.
Definition at line 84 of file SimpleCaptcha.php.
Referenced by addCaptchaAPI().
|
private |
Backend function for confirmEditMerged()
WikiPage | $page | |
string | $newtext | |
string | $section | |
IContextSource | $context |
Definition at line 787 of file SimpleCaptcha.php.
References $context, $request, $section, $wgRequest, and(), passCaptchaLimitedFromRequest(), shouldCheck(), and wfDebug().
Referenced by confirmEditMerged().
SimpleCaptcha::editShowCaptcha | ( | $editPage | ) |
Insert the captcha prompt into an edit form.
EditPage | $editPage |
Definition at line 220 of file SimpleCaptcha.php.
References $context, $out, addFormToOutput(), and(), and getMessage().
|
private |
Filter callback function for URL whitelisting.
string | $url | string to check |
Definition at line 662 of file SimpleCaptcha.php.
References $source, and(), buildRegexes(), and wfMessage().
|
private |
Extract a list of all recognized HTTP links in the text.
Title | $title | |
string | $text |
Definition at line 1114 of file SimpleCaptcha.php.
References $options, $out, $wgParser, and and().
Referenced by shouldCheck().
SimpleCaptcha::getCaptcha | ( | ) |
Returns an array with 'question' and 'answer' keys.
Subclasses might use different structure. Since MW 1.27 all subclasses must implement this method.
Reimplemented in FancyCaptcha, MathCaptcha, QuestyCaptcha, ReCaptcha, and ReCaptchaNoCaptcha.
Definition at line 53 of file SimpleCaptcha.php.
References and().
Referenced by addCaptchaAPI(), createAuthenticationRequest(), and getFormInformation().
SimpleCaptcha::getCaptchaInfo | ( | $captchaData, | |
$id ) |
array | $captchaData | Data given by getCaptcha |
string | $id | ID given by storeCaptcha |
Reimplemented in FancyCaptcha, MathCaptcha, QuestyCaptcha, ReCaptcha, and ReCaptchaNoCaptcha.
Definition at line 193 of file SimpleCaptcha.php.
|
protected |
WebRequest | $request |
Reimplemented in ReCaptcha, and ReCaptchaNoCaptcha.
Definition at line 959 of file SimpleCaptcha.php.
References $request, and and().
Referenced by passCaptchaFromRequest(), and passCaptchaLimitedFromRequest().
SimpleCaptcha::getError | ( | ) |
Return the error from the last passCaptcha* call.
Not implemented but needed by some child classes.
Reimplemented in ReCaptcha, and ReCaptchaNoCaptcha.
Definition at line 43 of file SimpleCaptcha.php.
SimpleCaptcha::getFormInformation | ( | $tabIndex = 1 | ) |
Insert a captcha prompt into the edit form.
This sample implementation generates a simple arithmetic operation; it would be easy to defeat by machine.
Override this!
It is not guaranteed that the CAPTCHA will load synchronously with the main page content. So you can not rely on registering handlers before page load. E.g.:
NOT SAFE: $( window ).on( 'load', handler ) SAFE: $( handler )
However, if the HTML is loaded dynamically via AJAX, the following order will be used.
headitems => modulestyles + modules => add main HTML to DOM when modulestyles + modules are ready.
int | $tabIndex | Tab index to start from |
Reimplemented in FancyCaptcha, MathCaptcha, QuestyCaptcha, ReCaptcha, and ReCaptchaNoCaptcha.
Definition at line 120 of file SimpleCaptcha.php.
References and(), getCaptcha(), and storeCaptcha().
Referenced by addFormToOutput(), and injectEmailUser().
|
private |
Load external links from the externallinks table.
Title | $title |
Definition at line 766 of file SimpleCaptcha.php.
References $dbr, $res, DB_REPLICA, and wfGetDB().
Referenced by shouldCheck().
SimpleCaptcha::getMessage | ( | $action | ) |
Show a message asking the user to enter a captcha on edit The result will be treated as wiki text.
string | $action | Action being performed |
Reimplemented in ReCaptchaNoCaptcha.
Definition at line 240 of file SimpleCaptcha.php.
References $action, and wfMessage().
Referenced by editShowCaptcha(), injectEmailUser(), FancyCaptcha\onAuthChangeFormFields(), and showEditFormFields().
|
private |
Get the on-wiki IP whitelist stored in [[MediaWiki:Captcha-ip-whitelist]] page from cache if possible.
Definition at line 388 of file SimpleCaptcha.php.
References $cache, and(), buildValidIPs(), and Message\plain().
Referenced by isIPWhitelisted().
SimpleCaptcha::increaseBadLoginCounter | ( | $username | ) |
Increase bad login counter after a failed login.
The user might be required to solve a captcha if the count is high.
string | $username | TODO use Throttler |
Definition at line 283 of file SimpleCaptcha.php.
References $cache, $username, and(), CaptchaTriggers\BAD_LOGIN, CaptchaTriggers\BAD_LOGIN_PER_USER, badLoginKey(), badLoginPerUserKey(), and triggersCaptcha().
SimpleCaptcha::injectEmailUser | ( | & | $form | ) |
Inject whazawhoo @fixme if multiple thingies insert a header, could break.
HTMLForm | &$form |
Definition at line 256 of file SimpleCaptcha.php.
References $out, addFormInformationToOutput(), and(), canSkipCaptcha(), getFormInformation(), getMessage(), CaptchaTriggers\SENDEMAIL, and triggersCaptcha().
|
protected |
ApiBase | $module |
Definition at line 919 of file SimpleCaptcha.php.
Referenced by ReCaptcha\apiGetAllowedParams(), ReCaptchaNoCaptcha\apiGetAllowedParams(), and apiGetAllowedParams().
SimpleCaptcha::isBadLoginPerUserTriggered | ( | $u | ) |
Is the per-user captcha triggered?
Definition at line 340 of file SimpleCaptcha.php.
References $cache, and(), CaptchaTriggers\BAD_LOGIN_PER_USER, and triggersCaptcha().
SimpleCaptcha::isBadLoginTriggered | ( | ) |
Check if a bad login has already been registered for this IP address.
If so, require a captcha.
Definition at line 326 of file SimpleCaptcha.php.
References $cache, and(), CaptchaTriggers\BAD_LOGIN, and triggersCaptcha().
|
private |
Check if the current IP is allowed to skip captchas.
This checks the whitelist from two sources. 1) From the server-side config array $wgCaptchaWhitelistIP 2) From the local [[MediaWiki:Captcha-ip-whitelist]] message
Definition at line 360 of file SimpleCaptcha.php.
References $wgRequest, and(), getWikiIPWhitelist(), and wfMessage().
Referenced by canSkipCaptcha().
|
protected |
Check if the submitted form matches the captcha session data provided by the plugin when the form was generated.
Override this!
string | $answer | |
array | $info |
Reimplemented in FancyCaptcha, MathCaptcha, and QuestyCaptcha.
Definition at line 467 of file SimpleCaptcha.php.
Referenced by passCaptcha().
|
private |
Retrieve the current version of the page or section being edited...
Definition at line 1091 of file SimpleCaptcha.php.
References $content, $rev, $section, $wgParser, and(), and Revision\newFromTitle().
Referenced by shouldCheck().
|
protected |
Log the status and any triggering info for debugging or statistics.
string | $message |
Definition at line 1041 of file SimpleCaptcha.php.
References wfDebugLog().
Referenced by passCaptcha(), and passCaptchaLimited().
Logic to check if we need to pass a captcha for the current user to create a new account, or not.
User | null | $creatingUser |
Definition at line 868 of file SimpleCaptcha.php.
References and(), canSkipCaptcha(), CaptchaTriggers\CREATE_ACCOUNT, and triggersCaptcha().
SimpleCaptcha::onAuthChangeFormFields | ( | array | $requests, |
array | $fieldInfo, | ||
array & | $formDescriptor, | ||
$action ) |
Modify the appearance of the captcha field.
AuthenticationRequest[] | $requests | |
array | $fieldInfo | Field description as given by AuthenticationRequest::mergeFieldInfo |
array | &$formDescriptor | A form descriptor suitable for the HTMLForm constructor |
string | $action | One of the AuthManager::ACTION_* constants |
Reimplemented in FancyCaptcha, MathCaptcha, QuestyCaptcha, ReCaptcha, and ReCaptchaNoCaptcha.
Definition at line 1152 of file SimpleCaptcha.php.
References $formDescriptor, $req, and $requests.
|
protected |
Given a required captcha run, test form input for correct input on the open session.
string | $index | Captcha idenitifier |
string | $word | Captcha solution |
Reimplemented in ReCaptchaNoCaptcha, ReCaptcha, and FancyCaptcha.
Definition at line 1011 of file SimpleCaptcha.php.
References $captchaSolved, and(), clearCaptcha(), keyMatch(), log(), and retrieveCaptcha().
Referenced by passCaptchaFromRequest(), and passCaptchaLimited().
SimpleCaptcha::passCaptchaFromRequest | ( | WebRequest | $request, |
User | $user ) |
Given a required captcha run, test form input for correct input on the open session.
WebRequest | $request | |
User | $user |
Definition at line 999 of file SimpleCaptcha.php.
References getCaptchaParamsFromRequest(), list, and passCaptcha().
SimpleCaptcha::passCaptchaLimited | ( | $index, | |
$word, | |||
User | $user ) |
Checks, if the user reached the amount of false CAPTCHAs and give him some vacation or run self::passCaptcha() and clear counter if correct.
string | $index | Captcha idenitifier |
string | $word | Captcha solution |
User | $user | User for throttling captcha solving attempts |
Definition at line 975 of file SimpleCaptcha.php.
References log(), and passCaptcha().
Referenced by passCaptchaLimitedFromRequest().
SimpleCaptcha::passCaptchaLimitedFromRequest | ( | WebRequest | $request, |
User | $user ) |
Checks, if the user reached the amount of false CAPTCHAs and give him some vacation or run self::passCaptcha() and clear counter if correct.
WebRequest | $request | |
User | $user |
Definition at line 950 of file SimpleCaptcha.php.
References getCaptchaParamsFromRequest(), list, and passCaptchaLimited().
Referenced by confirmEmailUser(), and doConfirmEdit().
SimpleCaptcha::resetBadLoginCounter | ( | $username | ) |
Reset bad login counter after a successful login.
string | $username |
Definition at line 313 of file SimpleCaptcha.php.
References $cache, $username, CaptchaTriggers\BAD_LOGIN_PER_USER, badLoginPerUserKey(), and triggersCaptcha().
SimpleCaptcha::retrieveCaptcha | ( | $index | ) |
Fetch this session's captcha info.
string | $index |
Reimplemented in ReCaptcha, and ReCaptchaNoCaptcha.
Definition at line 1070 of file SimpleCaptcha.php.
References CaptchaStore\get().
Referenced by FancyCaptcha\passCaptcha(), passCaptcha(), and FancyCaptcha\showImage().
SimpleCaptcha::setAction | ( | $action | ) |
SimpleCaptcha::setTrigger | ( | $trigger | ) |
WikiPage | $page | |
Content | string | $content | |
string | $section | |
IContextSource | $context | |
string | null | $oldtext | The content of the revision prior to $content When null this will be loaded from the database. |
Definition at line 527 of file SimpleCaptcha.php.
References $content, $context, $request, $section, and(), canSkipCaptcha(), CONTENT_MODEL_WIKITEXT, findLinks(), getLinksFromTracker(), loadText(), triggersCaptcha(), and wfDebug().
Referenced by doConfirmEdit().
SimpleCaptcha::showEditFormFields | ( | & | $editPage, |
& | $out ) |
Show error message for missing or incorrect captcha on EditPage.
EditPage | &$editPage | |
OutputPage | &$out |
Definition at line 202 of file SimpleCaptcha.php.
References $out, addFormToOutput(), and(), and getMessage().
SimpleCaptcha::showHelp | ( | ) |
Show a page explaining what this wacky thing is.
Reimplemented in QuestyCaptcha.
Definition at line 1127 of file SimpleCaptcha.php.
References $wgOut, CaptchaStore\get(), text, and wfMessage().
SimpleCaptcha::storeCaptcha | ( | $info | ) |
Generate a captcha session ID and save the info in PHP's session storage.
(Requires the user to have cookies enabled to get through the captcha.)
A random ID is used so legit users can make edits in multiple tabs or windows without being unnecessarily hobbled by a serial order requirement. Pass the returned id value into the edit form as wpCaptchaId.
array | $info | data to store |
Reimplemented in ReCaptcha, and ReCaptchaNoCaptcha.
Definition at line 1056 of file SimpleCaptcha.php.
References and(), and CaptchaStore\get().
Referenced by FancyCaptcha\addCaptchaAPI(), MathCaptcha\addCaptchaAPI(), QuestyCaptcha\addCaptchaAPI(), addCaptchaAPI(), createAuthenticationRequest(), FancyCaptcha\getFormInformation(), MathCaptcha\getFormInformation(), QuestyCaptcha\getFormInformation(), getFormInformation(), and FancyCaptcha\showImage().
SimpleCaptcha::triggersCaptcha | ( | $action, | |
$title = null ) |
Checks, whether the passed action should trigger a CAPTCHA.
The optional $title parameter will be used to check namespace specific CAPTCHA triggers.
string | $action | The CAPTCHA trigger to check (see CaptchaTriggers for ConfirmEdit built-in triggers) |
Title | null | $title | An optional Title object, if the namespace specific triggers should be checked, too. |
Definition at line 493 of file SimpleCaptcha.php.
References $action, $result, and(), CaptchaTriggers\EXT_REG_ATTRIBUTE_NAME, and ExtensionRegistry\getInstance().
Referenced by captchaTriggers(), confirmEmailUser(), increaseBadLoginCounter(), injectEmailUser(), isBadLoginPerUserTriggered(), isBadLoginTriggered(), needCreateAccountCaptcha(), resetBadLoginCounter(), and shouldCheck().
|
protected |
Used to select the right message.
One of sendmail, createaccount, badlogin, edit, create, addurl.
Definition at line 19 of file SimpleCaptcha.php.
Referenced by ReCaptchaNoCaptcha\getMessage(), getMessage(), FancyCaptcha\onAuthChangeFormFields(), setAction(), and triggersCaptcha().
Was the CAPTCHA already passed and if yes, with which result?
Definition at line 12 of file SimpleCaptcha.php.
Referenced by passCaptcha().
|
staticprotected |
Definition at line 9 of file SimpleCaptcha.php.
|
protected |