recaptcha-v2

0.1.3 • Public • Published

node-recaptcha

node-recaptcha renders and verifies reCAPTCHA captchas.

NOTE: This release uses the latest v2 reCAPTCHA

Installation

Via git:

$ git clone git://github.com/mrpetef10/node-recaptcha-v2.git ~/.node_libraries/node-recaptcha-v2

Via npm:

$ npm install recaptcha-v2

Setup

Before you can use this module, you must visit reCAPTCHA to request a public and private API key for your domain.

Example Using Express

app.js:

var express  = require('express'),
    Recaptcha = require('recaptcha').Recaptcha;

var PUBLIC_KEY  = 'YOUR_PUBLIC_KEY',
    PRIVATE_KEY = 'YOUR_PRIVATE_KEY';

var app = express.createServer();

app.configure(function() {
    app.use(express.bodyParser());
});

app.get('/', function(req, res) {
    var recaptcha = new Recaptcha(PUBLIC_KEY, PRIVATE_KEY);

    res.render('form.jade', {
        layout: false,
        locals: {
            recaptcha_form: recaptcha.toHTML()
        }
    });
});

app.post('/', function(req, res) {
    var data = {
		remoteip:  req.connection.remoteAddress,
		response:  req.param("g-recaptcha-response"),
		secret: PRIVATE_KEY
    };
    var recaptcha = new Recaptcha(PUBLIC_KEY, PRIVATE_KEY, data);

    recaptcha.verify(function(success, error_code) {
        if (success) {
            res.send('Recaptcha response valid.');
        }
        else {
            // Redisplay the form.
            res.render('form.jade', {
                layout: false,
                locals: {
                    recaptcha_form: recaptcha.toHTML()
                }
            });
        }
    });
});

app.listen(3000);

views/form.jade:

form(method='POST', action='.')
  != recaptcha_form

  input(type='submit', value='Check Recaptcha')

Make sure express and jade are installed, then:

$ node app.js

Package Sidebar

Install

npm i recaptcha-v2

Weekly Downloads

406

Version

0.1.3

License

MIT

Last publish

Collaborators

  • mrpetem