captcha
This commit is contained in:
6
.env
6
.env
@@ -83,3 +83,9 @@ MERCURE_TOPIC_BASE=https://escapepage.dev
|
||||
USER_ID=1000
|
||||
GROUP_ID=1000
|
||||
###< docker ###
|
||||
|
||||
###> karser/karser-recaptcha3-bundle ###
|
||||
# Get your API key and secret from https://g.co/recaptcha/v3
|
||||
RECAPTCHA3_KEY=my_site_key
|
||||
RECAPTCHA3_SECRET=my_secret
|
||||
###< karser/karser-recaptcha3-bundle ###
|
||||
|
||||
1
.idea/escapepage.iml
generated
1
.idea/escapepage.iml
generated
@@ -140,6 +140,7 @@
|
||||
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/webpack-encore-bundle" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/vendor/symfonycasts/reset-password-bundle" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/vendor/symfonycasts/verify-email-bundle" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/vendor/karser/karser-recaptcha3-bundle" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
|
||||
1
.idea/php.xml
generated
1
.idea/php.xml
generated
@@ -153,6 +153,7 @@
|
||||
<path value="$PROJECT_DIR$/vendor/lcobucci/jwt" />
|
||||
<path value="$PROJECT_DIR$/vendor/symfonycasts/verify-email-bundle" />
|
||||
<path value="$PROJECT_DIR$/vendor/symfonycasts/reset-password-bundle" />
|
||||
<path value="$PROJECT_DIR$/vendor/karser/karser-recaptcha3-bundle" />
|
||||
</include_path>
|
||||
</component>
|
||||
<component name="PhpProjectSharedConfiguration" php_language_level="8.2" />
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
"doctrine/doctrine-bundle": "^2.16",
|
||||
"doctrine/doctrine-migrations-bundle": "^3.4",
|
||||
"doctrine/orm": "^3.5",
|
||||
"karser/karser-recaptcha3-bundle": "^0.3.0",
|
||||
"phpdocumentor/reflection-docblock": "^5.6",
|
||||
"phpstan/phpdoc-parser": "^2.3",
|
||||
"symfony/asset": "7.3.*",
|
||||
|
||||
84
composer.lock
generated
84
composer.lock
generated
@@ -4,7 +4,7 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "8e2419832c0841e325a5b748bde61a48",
|
||||
"content-hash": "22d46e70bd8246939c294d28ecfff13d",
|
||||
"packages": [
|
||||
{
|
||||
"name": "composer/semver",
|
||||
@@ -1271,6 +1271,88 @@
|
||||
],
|
||||
"time": "2025-03-06T22:45:56+00:00"
|
||||
},
|
||||
{
|
||||
"name": "karser/karser-recaptcha3-bundle",
|
||||
"version": "v0.3.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/karser/KarserRecaptcha3Bundle.git",
|
||||
"reference": "3d194dab4c31115bebc073c866ff55afaaa9e276"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/karser/KarserRecaptcha3Bundle/zipball/3d194dab4c31115bebc073c866ff55afaaa9e276",
|
||||
"reference": "3d194dab4c31115bebc073c866ff55afaaa9e276",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-json": "*",
|
||||
"php": ">=8.1",
|
||||
"symfony/expression-language": "^6.4|^7.0|^8.0",
|
||||
"symfony/form": "^6.4|^7.0|^8.0",
|
||||
"symfony/framework-bundle": "^6.4|^7.0|^8.0",
|
||||
"symfony/twig-bundle": "^6.4|^7.0|^8.0",
|
||||
"symfony/validator": "^6.4|^7.0|^8.0",
|
||||
"symfony/yaml": "^6.4|^7.0|^8.0",
|
||||
"twig/twig": "^3.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^9|^10|^11",
|
||||
"symfony/http-client": "^6.4|^7.0|^8.0"
|
||||
},
|
||||
"type": "symfony-bundle",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "0.1.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Karser\\Recaptcha3Bundle\\": ""
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Dmitrii Poddubnyi",
|
||||
"homepage": "https://github.com/karser"
|
||||
}
|
||||
],
|
||||
"description": "Google ReCAPTCHA v3 for Symfony",
|
||||
"homepage": "http://github.com/karser/KarserRecaptcha3Bundle",
|
||||
"keywords": [
|
||||
"Forms",
|
||||
"Google ReCaptcha",
|
||||
"GoogleReCaptcha",
|
||||
"Symfony Google ReCaptcha",
|
||||
"anti-bot",
|
||||
"anti-bots",
|
||||
"anti-spam",
|
||||
"captcha",
|
||||
"contact",
|
||||
"google",
|
||||
"google recaptcha v3",
|
||||
"no-captcha",
|
||||
"recaptcha",
|
||||
"recaptcha v3",
|
||||
"recaptcha v3 symfony",
|
||||
"security",
|
||||
"spam",
|
||||
"symfony",
|
||||
"symfony google recaptcha v3",
|
||||
"symfony recaptcha",
|
||||
"symfony recaptcha v3",
|
||||
"validation"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/karser/KarserRecaptcha3Bundle/issues",
|
||||
"source": "https://github.com/karser/KarserRecaptcha3Bundle/tree/v0.3.0"
|
||||
},
|
||||
"time": "2025-12-08T11:25:16+00:00"
|
||||
},
|
||||
{
|
||||
"name": "lcobucci/jwt",
|
||||
"version": "5.6.0",
|
||||
|
||||
@@ -17,4 +17,5 @@ return [
|
||||
Symfony\Bundle\MercureBundle\MercureBundle::class => ['all' => true],
|
||||
SymfonyCasts\Bundle\VerifyEmail\SymfonyCastsVerifyEmailBundle::class => ['all' => true],
|
||||
SymfonyCasts\Bundle\ResetPassword\SymfonyCastsResetPasswordBundle::class => ['all' => true],
|
||||
Karser\Recaptcha3Bundle\KarserRecaptcha3Bundle::class => ['all' => true],
|
||||
];
|
||||
|
||||
5
config/packages/karser_recaptcha3.yaml
Normal file
5
config/packages/karser_recaptcha3.yaml
Normal file
@@ -0,0 +1,5 @@
|
||||
karser_recaptcha3:
|
||||
site_key: '%env(RECAPTCHA3_KEY)%'
|
||||
secret_key: '%env(RECAPTCHA3_SECRET)%'
|
||||
score_threshold: 0.5
|
||||
enabled: true
|
||||
2
config/packages/test/karser_recaptcha3.yaml
Normal file
2
config/packages/test/karser_recaptcha3.yaml
Normal file
@@ -0,0 +1,2 @@
|
||||
karser_recaptcha3:
|
||||
enabled: false
|
||||
@@ -3,6 +3,8 @@
|
||||
namespace App\Tech\Form;
|
||||
|
||||
use App\Tech\Entity\User;
|
||||
use Karser\Recaptcha3Bundle\Form\Recaptcha3Type;
|
||||
use Karser\Recaptcha3Bundle\Validator\Constraints\Recaptcha3;
|
||||
use Symfony\Component\Form\AbstractType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\EmailType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\TextType;
|
||||
@@ -40,6 +42,10 @@ class RegistrationFormType extends AbstractType
|
||||
),
|
||||
],
|
||||
])
|
||||
->add('captcha', Recaptcha3Type::class, [
|
||||
'constraints' => new Recaptcha3(),
|
||||
'action_name' => 'registration',
|
||||
])
|
||||
;
|
||||
}
|
||||
|
||||
|
||||
12
symfony.lock
12
symfony.lock
@@ -35,6 +35,18 @@
|
||||
"migrations/.gitignore"
|
||||
]
|
||||
},
|
||||
"karser/karser-recaptcha3-bundle": {
|
||||
"version": "0.3",
|
||||
"recipe": {
|
||||
"repo": "github.com/symfony/recipes-contrib",
|
||||
"branch": "main",
|
||||
"version": "0.1",
|
||||
"ref": "c51ce07c10331d506762efe25b6f5843c1a5ea17"
|
||||
},
|
||||
"files": [
|
||||
"./config/packages/karser_recaptcha3.yaml"
|
||||
]
|
||||
},
|
||||
"phpunit/phpunit": {
|
||||
"version": "11.5",
|
||||
"recipe": {
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
{{ form_row(registrationForm.email) }}
|
||||
{{ form_row(registrationForm.username) }}
|
||||
{{ form_row(registrationForm.plainPassword) }}
|
||||
{{ form_row(registrationForm.captcha) }}
|
||||
|
||||
<button type="submit" class="btn">Register</button>
|
||||
{{ form_end(registrationForm) }}
|
||||
|
||||
Reference in New Issue
Block a user