captcha

package
v1.0.14 Latest Latest
Warning

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

Go to latest
Published: Feb 9, 2022 License: LGPL-3.0, LGPL-3.0 Imports: 8 Imported by: 0

README

Captcha

an example for use captcha

package controllers

import (
	"github.com/W3-Engineers-Ltd/Radiant"
	"github.com/W3-Engineers-Ltd/Radiant/client/cache"
	"github.com/W3-Engineers-Ltd/Radiant/server/web/captcha"
)

var cpt *captcha.Captcha

func init() {
	// use radiant cache system store the captcha data
	store := cache.NewMemoryCache()
	cpt = captcha.NewWithFilter("/captcha/", store)
}

type MainController struct {
	radiant.Controller
}

func (this *MainController) Get() {
	this.TplName = "index.tpl"
}

func (this *MainController) Post() {
	this.TplName = "index.tpl"

	this.Data["Success"] = cpt.VerifyReq(this.Ctx.Request)
}

template usage

{{.Success}}
<form action="/" method="post">
	{{create_captcha}}
	<input name="captcha" type="text">
</form>

Documentation

Overview

Package captcha implements generation and verification of image CAPTCHAs. an example for use captcha

``` package controllers

import (

"github.com/W3-Engineers-Ltd/Radiant"
"github.com/W3-Engineers-Ltd/Radiant/client/cache"
"github.com/W3-Engineers-Ltd/Radiant/server/web/captcha"

)

var cpt *captcha.Captcha

func init() {
	// use radiant cache system store the captcha data
	store := cache.NewMemoryCache()
	cpt = captcha.NewWithFilter("/captcha/", store)
}
type MainController struct {
	radiant.Controller
}
func (this *MainController) Get() {
	this.TplName = "index.tpl"
}
func (this *MainController) Post() {
	this.TplName = "index.tpl"

	this.Data["Success"] = cpt.VerifyReq(this.Ctx.Request)
}

```

template usage

``` {{.Success}} <form action="/" method="post">

{{create_captcha}}
<input name="captcha" type="text">

</form> ```

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Captcha

type Captcha captcha.Captcha

Captcha struct

func NewCaptcha

func NewCaptcha(urlPrefix string, store cache.Cache) *Captcha

NewCaptcha create a new captcha.Captcha

func NewWithFilter

func NewWithFilter(urlPrefix string, store cache.Cache) *Captcha

NewWithFilter create a new captcha.Captcha and auto AddFilter for serve captacha image and add a template func for output html

func (*Captcha) CreateCaptcha

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

CreateCaptcha create a new captcha id

func (*Captcha) CreateCaptchaHTML

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

CreateCaptchaHTML template func for output html

func (*Captcha) Handler

func (c *Captcha) Handler(ctx *context.Context)

Handler radiant filter handler for serve captcha image

func (*Captcha) Verify

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

Verify direct verify id and challenge string

func (*Captcha) VerifyReq

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

VerifyReq verify from a request

type Image

type Image captcha.Image

Image struct

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.

Jump to

Keyboard shortcuts

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