{"id":15025090,"url":"https://github.com/simonetoo/captcha","last_synced_at":"2025-09-02T20:49:38.764Z","repository":{"id":57077769,"uuid":"57045152","full_name":"simonetoo/captcha","owner":"simonetoo","description":"😁一个Laravel5使用的简单图形验证码组件包","archived":false,"fork":false,"pushed_at":"2019-03-27T03:14:15.000Z","size":622,"stargazers_count":13,"open_issues_count":0,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-10-31T12:46:37.484Z","etag":null,"topics":["captcha","laravel","laravel5","php"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/simonetoo.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}},"created_at":"2016-04-25T13:46:11.000Z","updated_at":"2021-11-09T10:54:35.000Z","dependencies_parsed_at":"2022-08-24T14:56:10.021Z","dependency_job_id":null,"html_url":"https://github.com/simonetoo/captcha","commit_stats":null,"previous_names":["simonetoo/captcha","vicens/captcha"],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonetoo%2Fcaptcha","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonetoo%2Fcaptcha/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonetoo%2Fcaptcha/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonetoo%2Fcaptcha/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simonetoo","download_url":"https://codeload.github.com/simonetoo/captcha/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223518568,"owners_count":17158689,"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":["captcha","laravel","laravel5","php"],"created_at":"2024-09-24T20:01:30.314Z","updated_at":"2024-11-07T13:04:14.693Z","avatar_url":"https://github.com/simonetoo.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n[![Build Status](https://scrutinizer-ci.com/g/vicens/captcha/badges/build.png?b=master)](https://scrutinizer-ci.com/g/vicens/captcha/build-status/master)\n[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/vicens/captcha/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/vicens/captcha/?branch=master)\n[![Latest Stable Version](https://poser.pugx.org/vicens/captcha/v/stable)](https://packagist.org/packages/vicens/captcha)\n[![Total Downloads](https://poser.pugx.org/vicens/captcha/downloads)](https://packagist.org/packages/vicens/captcha)\n[![License](https://poser.pugx.org/vicens/captcha/license)](https://packagist.org/packages/vicens/captcha)\n\n## 简介\n\n一个简单的laravel5图形验证码扩展包\n\n## 环境要求\n1. PHP \u003e= 5.5\n2. php-gd\n3. [illuminate\\support](https://github.com/illuminate/support) ^5.1\n4. [symfony/http-foundation](https://github.com/symfony/http-foundation) \u003e= 2.0\n\n## 安装\n\n### 使用composer安装扩展包\n\n先通过`composer`安装扩展包到项目中\n\n```php\ncomposer require vicens/captcha\n```\n\n### 注册服务提供者和别名(Laravel5.5无需手动注册)\n\n在`config/app.php` 配置文件的`providers`数组中，注册服务提供者：\n\n```php\n'providers' =\u003e [\n    // Other service providers...\n    \\Vicens\\Captcha\\Providers\\CaptchaServiceProvider::class\n]\n```\n\n如果你使用`Captcha`别名的话，在`aliases`数组中注册别名：\n\n```php\n'aliases' =\u003e [\n    // Other facades...\n    'Captcha' =\u003e \\Vicens\\Captcha\\Facades\\Captcha::class\n]\n```\n\n## 配置\n\n如果你想使用自己的配置,你可以执行以下命令发布配置文件`config/captcha.php`：\n\n```php\nphp artisan vendor:publish --provider=\\Vicens\\Captcha\\Providers\\CaptchaServiceProvider\n```\n\n```php\n\nreturn array(\n    /**\n     * 调试模式(不验证验证码的正确性), 设置为null时, 取值为app.debug\n     *\n     * @var bool|null\n     */\n    'debug' =\u003e env('CAPTCHA_DEBUG', false),\n    /**\n     * 验证码的访问路径\n     *\n     * @var string\n     */\n    'route' =\u003e '/captcha',\n    /**\n     * 路由名\n     *\n     * @var string\n     */\n    'name' =\u003e 'captcha',\n    /**\n     * 中间件名，必须开启session\n     *\n     * @var string\n     */\n    'middleware' =\u003e 'web',\n    /**\n     * 默认验证码长度\n     *\n     * @var int\n     */\n    'length' =\u003e 4,\n    /**\n     * 验证码字符集\n     *\n     * @var string\n     */\n    'charset' =\u003e 'abcdefghijklmnpqrstuvwxyzABCDEFGHIJKLMNPQRSTUVWXYZ123456789',\n    /**\n     * 是否开启严格模式(区分大小写)\n     *\n     * @var bool\n     */\n    'strict' =\u003e false,\n    /**\n     * 默认验证码宽度\n     *\n     * @var int\n     */\n    'width' =\u003e 150,\n    /**\n     * 默认验证码高度\n     *\n     * @var int\n     */\n    'height' =\u003e 40,\n    /**\n     * 指定文字颜色\n     *\n     * @var string\n     */\n    'textColor' =\u003e null,\n    /**\n     * 文字字体文件\n     *\n     * @var string\n     */\n    'textFont' =\u003e null,\n    /**\n     * 指定图片背景色\n     *\n     * @var string\n     */\n    'backgroundColor' =\u003e null,\n    /**\n     * 开启失真模式\n     *\n     * @var bool\n     */\n    'distortion' =\u003e true,\n    /**\n     * 最大前景线条数\n     *\n     * @var int\n     */\n    'maxFrontLines' =\u003e null,\n    /**\n     * 最大背景线条数\n     *\n     * @val int\n     */\n    'maxBehindLines' =\u003e null,\n    /**\n     * 文字最大角度\n     *\n     * @var int\n     */\n    'maxAngle' =\u003e 8,\n    /**\n     * 文字最大偏移量\n     *\n     * @var int\n     */\n    'maxOffset' =\u003e 5\n);\n```\n\n## 基本用法\n\n#### 生成验证码图片实例\n\n```php\nuse \\Vicens\\Captcha\\Facades\\Captcha;\n\n$image = Captcha::make();\n$image = Captcha::setConfig($config)-\u003emake();\n$image = Captcha::width(100)-\u003eheight(40)-\u003emake();\n```\n#### 图片实例用法\n直接返回`Response`对象：\n```php\n$image-\u003eresponse();\n```\n直接输出给浏览器：\n```php\n$image-\u003eoutput();\n```\n输出`img`标签：\n```php\nCaptcha::html($width, $height);\n```\n返回`base64`编码：\n```php\n$image-\u003egetBase64();\n```\n返回`base64`Url地址：\n```php\n$image-\u003egetDataUrl();\n```\n返回图片二进制内容：\n```php\n$image-\u003egetContent();\n```\n保存图片到服务器：\n```php\n$image-\u003esave($filename);\n```\n\n#### 验证和测试\n仅测试验证码的正确性：\n```php\nCaptcha::test($input);\n```\n检测验证码的正确性，并且从缓存中删除验证码：\n```php\nCaptcha::check($input);\n```\n\n#### 使用中间件\n\n在路由上使用：\n\n```php\nRoute::post('login','LoginController@login')-\u003emiddleware(\\Vicens\\Captcha\\Middleware\\CaptchaMiddleware::class);\n```\n\n在控制器中使用：\n```php\npublic function __constructor(){\n   $this-\u003emiddleware(\\Vicens\\Captcha\\Middleware\\CaptchaMiddleware::class)-\u003eonly(['login', 'register']);\n}\n```\n\n#### 使用表单验证器\n\n在控制器中使用：\n\n```php\n$this-\u003evalidation([\n   'code' =\u003e 'captcha'\n]);\n```\n在`Request`中使用：\n ```php\npublic function rules()\n{\n    return [\n        'code' =\u003e 'captcha'\n    ];\n}\n```\n\n#### 外观方法\n\n返回验证码URL：\n```php\nCaptcha::url();\nCaptcha::src();\n```\n返回验证码`img`标签：\n```php\nCaptcha::image();\n```\n\n返回可点击切换验证码的`img`标签：\n```php\nCaptcha::clickableImage();\n```\n## 开源协议\n\n[MIT license](http://opensource.org/licenses/MIT).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonetoo%2Fcaptcha","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimonetoo%2Fcaptcha","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonetoo%2Fcaptcha/lists"}