package module
Version: v0.0.0-...-9a0a0b1 Latest Latest

This package is not in the latest version of its module.

Go to latest
Published: Mar 27, 2015 License: Apache-2.0 Imports: 16 Imported by: 120


captcha Build Status

Middleware captcha provides captcha service for Macaron.

go get

Getting Help


This project is under Apache v2 License. See the LICENSE file for the full license text.



Package captcha a middleware that provides captcha service for Macaron.



This section is empty.


This section is empty.


func Captchaer

func Captchaer(options ...Options) macaron.Handler

Captchaer is a middleware that maps a captcha.Captcha service into the Macaron handler chain. An single variadic captcha.Options struct can be optionally provided to configure. This should be register after cache.Cacher.

func Version

func Version() string


type Captcha

type Captcha struct {
	SubURL           string
	URLPrefix        string
	FieldIdName      string
	FieldCaptchaName string
	StdWidth         int
	StdHeight        int
	ChallengeNums    int
	Expiration       int64
	CachePrefix      string
	// contains filtered or unexported fields

Captcha represents a captcha service.

func NewCaptcha

func NewCaptcha(opt Options) *Captcha

NewCaptcha initializes and returns a captcha with given options.

func (*Captcha) CreateCaptcha

func (c *Captcha) CreateCaptcha() (string, error)

create a new captcha id

func (*Captcha) CreateHtml

func (c *Captcha) CreateHtml() template.HTML

tempalte func for output html

func (*Captcha) Verify

func (c *Captcha) Verify(id string, challenge string) bool

direct verify id and challenge string

func (*Captcha) VerifyReq

func (c *Captcha) VerifyReq(req macaron.Request) bool

verify from a request

type Image

type Image struct {
	// contains filtered or unexported fields

func NewImage

func NewImage(digits []byte, width, height int) *Image

NewImage returns a new captcha image of the given width and height with the given digits, where each digit must be in range 0-9.

func (*Image) WriteTo

func (m *Image) WriteTo(w io.Writer) (int64, error)

WriteTo writes captcha image in PNG format into the given writer.

type Options

type Options struct {
	// Suburl path. Default is empty.
	SubURL string
	// URL prefix of getting captcha pictures. Default is "/captcha/".
	URLPrefix string
	// Hidden input element ID. Default is "captcha_id".
	FieldIdName string
	// User input value element name in request form. Default is "captcha".
	FieldCaptchaName string
	// Challenge number. Default is 6.
	ChallengeNums int
	// Captcha image width. Default is 240.
	Width int
	// Captcha image height. Default is 80.
	Height int
	// Captcha expiration time in seconds. Default is 600.
	Expiration int64
	// Cache key prefix captcha characters. Default is "captcha_".
	CachePrefix string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL