{"id":22568101,"url":"https://github.com/rekgrpth/ngx_http_captcha_module","last_synced_at":"2025-10-06T15:58:27.556Z","repository":{"id":104667312,"uuid":"158160492","full_name":"RekGRpth/ngx_http_captcha_module","owner":"RekGRpth","description":"nginx module for generate captcha and validate captcha code","archived":false,"fork":false,"pushed_at":"2025-06-02T19:13:26.000Z","size":93,"stargazers_count":12,"open_issues_count":0,"forks_count":8,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-13T17:08:28.942Z","etag":null,"topics":["c","captcha","nginx"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"dengqiang2015/ngx_http_captcha_module","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RekGRpth.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-11-19T04:09:22.000Z","updated_at":"2025-06-02T19:13:30.000Z","dependencies_parsed_at":null,"dependency_job_id":"79ffbbdb-4c8b-43c2-87da-55cab2c3ed48","html_url":"https://github.com/RekGRpth/ngx_http_captcha_module","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/RekGRpth/ngx_http_captcha_module","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RekGRpth%2Fngx_http_captcha_module","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RekGRpth%2Fngx_http_captcha_module/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RekGRpth%2Fngx_http_captcha_module/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RekGRpth%2Fngx_http_captcha_module/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RekGRpth","download_url":"https://codeload.github.com/RekGRpth/ngx_http_captcha_module/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RekGRpth%2Fngx_http_captcha_module/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266019657,"owners_count":23864916,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","captcha","nginx"],"created_at":"2024-12-08T00:11:27.143Z","updated_at":"2025-10-06T15:58:22.486Z","avatar_url":"https://github.com/RekGRpth.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Module:\n\n### Example Configuration:\n```nginx\nlocation =/captcha {\n    captcha;\n}\nlocation =/login {\n    set_form_input $csrf_form csrf;\n    set_unescape_uri $csrf_unescape $csrf_form;\n    set_form_input $captcha_form captcha;\n    set_unescape_uri $captcha_unescape $captcha_form;\n    set_md5 $captcha_md5 \"secret${captcha_unescape}${csrf_unescape}\";\n    if ($captcha_md5 != $cookie_captcha) {\n        # captcha invalid code\n    }\n}\n```\n### Directives:\n\n    Syntax:\t captcha;\n    Default: ——\n    Context: location\n\nEnables generation of captcha image.\u003chr\u003e\n\n    Syntax:\t captcha_case on | off;\n    Default: off\n    Context: http, server, location\n\nEnables/disables ignoring captcha case.\u003chr\u003e\n\n    Syntax:\t captcha_expire seconds;\n    Default: 3600\n    Context: http, server, location\n\nSets seconds before expiring captcha.\u003chr\u003e\n\n    Syntax:\t captcha_height pixels;\n    Default: 30\n    Context: http, server, location\n\nSets height of captcha image.\u003chr\u003e\n\n    Syntax:\t captcha_length characters;\n    Default: 4\n    Context: http, server, location\n\nSets length of captcha text.\u003chr\u003e\n\n    Syntax:\t captcha_size pixels;\n    Default: 20\n    Context: http, server, location\n\nSets size of captcha font.\u003chr\u003e\n\n    Syntax:\t captcha_width pixels;\n    Default: 130\n    Context: http, server, location\n\nSets width of captcha image.\u003chr\u003e\n\n    Syntax:\t captcha_charset string;\n    Default: abcdefghkmnprstuvwxyzABCDEFGHKMNPRSTUVWXYZ23456789\n    Context: http, server, location\n\nSets characters used in captcha text.\u003chr\u003e\n\n    Syntax:\t captcha_csrf string;\n    Default: csrf\n    Context: http, server, location\n\nSets name of csrf var of captcha.\u003chr\u003e\n\n    Syntax:\t captcha_font string;\n    Default: /usr/share/fonts/ttf-liberation/LiberationSans-Regular.ttf\n    Context: http, server, location\n\nSets font of captcha text.\u003chr\u003e\n\n    Syntax:\t captcha_name string;\n    Default: Captcha\n    Context: http, server, location\n\nSets name of captcha cookie.\u003chr\u003e\n\n    Syntax:\t captcha_secret string;\n    Default: secret\n    Context: http, server, location\n\nSets secret of captcha.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frekgrpth%2Fngx_http_captcha_module","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frekgrpth%2Fngx_http_captcha_module","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frekgrpth%2Fngx_http_captcha_module/lists"}