Difference between revisions of "Recaptcha field"

From EPrints Documentation
Jump to: navigation, search
(Added Recaptcha field page)
 
m
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{fieldtypes}}
 
{{fieldtypes}}
__NOTOC__
 
== Inheritance ==
 
 
* [[:Category:EPrints_Metadata_Fields|Metadata Field]]
 
** [[Id field]]
 
*** [[Recaptcha field]]
 
  
  
 
== Description ==
 
== Description ==
 +
Allows a Captcha using [https://developers.google.com/recaptcha/docs/display Google's reCAPTCHAv2 service] to be added to a form to protect it from being spammed by bots.
  
Please refer to the notes in EPRINTS_PATH/archives/ARCHIVE_NAME/cfg/cfg.d/recaptcha.pl.
+
Add the following configuration to a file called <code>cfg/cfg.d/recaptcha.pl</code> in your archive, if it does not already exist.
 +
$c->{recaptcha}->{private_key} = "CHANGEME";
 +
$c->{recaptcha}->{public_key} = "CHANGEME";
  
If this files does not exist, copy EPRINTS_PATH/lib/defaultcfg/cfg.d/recaptcha.pl.example
+
As this field uses the Google's reCAPTCHAv2 service and renders a Captcha, (a test that humans can easily pass, but robots shouldn't be able to), you will need to use a Google account to generate a private key and public key (also known by Google as a '''secret key''' and '''site key''' respectively) for the above configuration.  This can be done via Google's '''[https://www.google.com/recaptcha/admin/create Site Registration Tool]'''. By sure to use '''Challenge (v2)''' option when registering.
to the path above and edit it.
 
  
This field uses the Google "reCAPTCHA" service (https://www.google.com/recaptcha/intro/) and
+
If you are setting up a Recaptcha field for protecting request copy forms, you will need to add the following configuration to a file in your archive's <code>cfg/cfg.d/</code> directory.
renders a Captcha (a test that humans can easily pass, but robots shouldn't be able to).
+
$c->add_dataset_field( "request", {
 +
  name => "captcha",
 +
  replace_core => 1,
 +
  type => "recaptcha",
 +
});
  
Note:
+
== Inheritance ==
This MetaField was updated in October 2017 to reCAPTCHA v2.
+
* [[:Category:EPrints_Metadata_Fields|Metadata Field]]
The previous version of reCAPTCHA will cease to work in March 2018.
+
** [[Id field]]
 +
*** [[Recaptcha field]]
  
== Properties ==
+
== Additional Properties ==
As for [[Id field]]s.
+
As for [[Id field#Additional_Phrases|Id fields]].
  
 
== Required Phrases ==
 
== Required Phrases ==
'''validate:recaptcha_mismatch''' - Phrase to display if reCAPTCHA submission errored in some way.
+
<tt>validate:recaptcha_mismatch</tt> - Phrase to display if reCAPTCHA submission errored in some way.
 +
 
 +
== Database ==
 +
Recaptcha fields are not stored in the database they are just so reCAPTCHA can be added to certain forms.  The result of the reCAPTCHA does not need to be stored.
 +
 
 +
== API ==
 +
See [[API:EPrints/MetaField/Recaptcha|API page]].
 +
 
 +
== Examples ==
 +
Most basic example.
 +
{
 +
    name => 'captcha',
 +
    type => 'recaptcha',
 +
}

Latest revision as of 08:32, 21 July 2024

EPrints 3 Reference: Directory Structure - Metadata Fields - Repository Configuration - XML Config Files - XML Export Format - EPrints data structure - Core API - Data Objects


Metadata Fields: Arclanguage - Base64 - Bigint - Boolean - Compound - Counter - Dataobjref - Date - Decimal - Email - Fields - Float - Id - Idci - Image - Int - Itemref - Keywords - Langid - Longtext - Longtext_counter - Multilang - Multipart - Name - Namedset - Pagerange - Recaptcha - Recaptcha3 - Relation - Search - Secret - Set - Storable - Subject - Subobject - Text - Time - Timestamp - Url - Uuid


Description

Allows a Captcha using Google's reCAPTCHAv2 service to be added to a form to protect it from being spammed by bots.

Add the following configuration to a file called cfg/cfg.d/recaptcha.pl in your archive, if it does not already exist.

$c->{recaptcha}->{private_key} = "CHANGEME";
$c->{recaptcha}->{public_key} = "CHANGEME";

As this field uses the Google's reCAPTCHAv2 service and renders a Captcha, (a test that humans can easily pass, but robots shouldn't be able to), you will need to use a Google account to generate a private key and public key (also known by Google as a secret key and site key respectively) for the above configuration. This can be done via Google's Site Registration Tool. By sure to use Challenge (v2) option when registering.

If you are setting up a Recaptcha field for protecting request copy forms, you will need to add the following configuration to a file in your archive's cfg/cfg.d/ directory.

$c->add_dataset_field( "request", {
  name => "captcha",
  replace_core => 1,
  type => "recaptcha",
});

Inheritance

Additional Properties

As for Id fields.

Required Phrases

validate:recaptcha_mismatch - Phrase to display if reCAPTCHA submission errored in some way.

Database

Recaptcha fields are not stored in the database they are just so reCAPTCHA can be added to certain forms. The result of the reCAPTCHA does not need to be stored.

API

See API page.

Examples

Most basic example.

{
    name => 'captcha',
    type => 'recaptcha',
}