Skip to main content

A hCaptcha extension for Flask based on flask-recaptcha

Project description

Flask-hCaptcha

Latest version released on PyPi Python package

A hCaptcha extension for Flask based on flask-recaptcha.

Flask-hCaptcha 0.6.0 will be the last version that support Python 2, 3.5 and 3.6.


Install

pip install flask-hcaptcha

Usage

Implementation view.py

from flask import Flask
from flask_hcaptcha import hCaptcha

app = Flask(__name__)
hcaptcha = hCaptcha(app)

#or 

hcaptcha = hCaptcha()
hcaptcha.init_app(app)

In your template: {{ hcaptcha }}

Inside of the form you want to protect, include the tag: {{ hcaptcha }}

It will insert the code automatically

<form method="post" action="/submit">
    ... your field
    ... your field

    {{ hcaptcha }}

    [submit button]
</form>

Verify the captcha

In the view that's going to validate the captcha

from flask import Flask
from flask_hcaptcha import hCaptcha

app = Flask(__name__)
hcaptcha = hCaptcha(app)

@route("/submit", methods=["POST"])
def submit():

    if hcaptcha.verify():
        # SUCCESS
        pass
    else:
        # FAILED
        pass

API

hCaptcha.init(app, site_key, secret_key, is_enabled=True)

hCaptcha.get_code(dark_theme=False)

Returns the HTML code to implement. But you can use {{ hcaptcha }} directly in your template. A dark theme can also be specified with dark_theme=True.

hCaptcha.verify()

Returns bool

In Template

Just include {{ hcaptcha }} wherever you want to show the hcaptcha

Config

Flask-hCaptcha is configured through the standard Flask config API. These are the available options:

HCAPTCHA_ENABLED: Bool - True by default, when False it will bypass validation

HCAPTCHA_SITE_KEY : Public key

HCAPTCHA_SECRET_KEY: Private key

HCAPTCHA_ENABLED = True
HCAPTCHA_SITE_KEY = ""
HCAPTCHA_SECRET_KEY = ""

Todo

  1. Support Invisible Captcha
  2. Support the use of Language Codes

© 2021 Knugi © 2015 Mardix

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flask_hcaptcha-0.7.2.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

flask_hcaptcha-0.7.2-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

Details for the file flask_hcaptcha-0.7.2.tar.gz.

File metadata

  • Download URL: flask_hcaptcha-0.7.2.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for flask_hcaptcha-0.7.2.tar.gz
Algorithm Hash digest
SHA256 e868faa9323b773dcb75914b7e11f8b029edc059c74bfdc8c90627087f3f5ec9
MD5 914f76754e0aff80cc58c0ec7afc6f85
BLAKE2b-256 3bf7670c24b9c3dd4517444c5d21f8abfdf08e2dd54d0fbfe88124a004d299cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for flask_hcaptcha-0.7.2.tar.gz:

Publisher: python-publish.yml on KnugiHK/flask-hcaptcha

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file flask_hcaptcha-0.7.2-py3-none-any.whl.

File metadata

  • Download URL: flask_hcaptcha-0.7.2-py3-none-any.whl
  • Upload date:
  • Size: 4.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for flask_hcaptcha-0.7.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8db47a4a670595f2fc655c66be44aefd84b9dfcb57a44955b3e65fb5acb4b19a
MD5 8d7093f89f1f6af761beed7593e74a5a
BLAKE2b-256 7f92ec6fb670580fd25d9de2c775b3f211c9704ba8ce4d833df305722cbdd9c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for flask_hcaptcha-0.7.2-py3-none-any.whl:

Publisher: python-publish.yml on KnugiHK/flask-hcaptcha

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page