Simple captcha for Node.JS and Express.
JavaScript
Switch branches/tags
Nothing to show
Latest commit eff59d7 Apr 21, 2017 @napa3um napa3um session fix
Permalink
Failed to load latest commit information.
.gitignore gitignore Apr 19, 2017
History.md session fix Apr 21, 2017
LICENSE more adjustable options for captcha Jun 23, 2013
Readme.md readme fix Apr 21, 2017
captcha.js session fix Apr 21, 2017
package.json session fix Apr 21, 2017
test-server.js session fix Apr 21, 2017

Readme.md

Captcha

Simple captcha for Express.

WARNING! New API (0.0.5 -> 0.1.0)

Installation

Via npm:

$ npm install captcha

Usage (for Express 4)

'use strict'

const express = require('express')
const session = require('express-session')
const bodyParser = require('body-parser')

const captchaUrl = '/captcha.jpg'
const captchaId = 'captcha'
const captchaFieldName = 'captcha'

const captcha = require('./captcha').create({ cookie: captchaId })

const app = express()
app.use(session({
    secret: 'keyboard cat',
    resave: false,
    saveUninitialized: true,
}))
app.use(bodyParser.urlencoded({ extended: false }))

app.get(captchaUrl, captcha.image())

app.get('/', (req, res) => {
    res.type('html')
    res.end(`
        <img src="${ captchaUrl }"/>
        <form action="/login" method="post">
            <input type="text" name="${ captchaFieldName }"/>
            <input type="submit"/>
        </form>
    `)
})

app.post('/login', (req, res) => {
    res.type('html')
    res.end(`
        <p>CAPTCHA VALID: ${ captcha.check(req, req.body[captchaFieldName]) }</p>
    `)
})

app.listen(8080, () => {
    console.log('server started')
})