ADD: Работа с API stopforumspam.com

This commit is contained in:
Evg 2023-08-18 04:19:45 +03:00
parent 53be54faad
commit 4af58f43c3
11 changed files with 46 additions and 3 deletions

View File

@ -47,6 +47,7 @@ return [
'code_incorrect' => 'الكود غير صحيح او تم استخدامه مسبقاً', 'code_incorrect' => 'الكود غير صحيح او تم استخدامه مسبقاً',
'yes_email_pass' => 'الان يمكنك استخدام بريدك الالكتروني و كلمةالسر.', 'yes_email_pass' => 'الان يمكنك استخدام بريدك الالكتروني و كلمةالسر.',
'email_replay' => 'البريد الالكتروني هذا مستخدم بالفعل في هذا الموقع.', 'email_replay' => 'البريد الالكتروني هذا مستخدم بالفعل في هذا الموقع.',
'email_forbidden' => 'التسجيل مع البريد الإلكتروني المحدد ممنوع',
'multiple_accounts' => 'لا تقم بتسجيل عدة حسابات', 'multiple_accounts' => 'لا تقم بتسجيل عدة حسابات',
'five_width' => 'عرض الغلاف اقل 500px', 'five_width' => 'عرض الغلاف اقل 500px',
'five_format' => 'نوع الملف خاطئ', 'five_format' => 'نوع الملف خاطئ',

View File

@ -47,6 +47,7 @@ return [
'code_incorrect' => 'The code is incorrect or has already been used', 'code_incorrect' => 'The code is incorrect or has already been used',
'yes_email_pass' => 'Now you can use your email and password.', 'yes_email_pass' => 'Now you can use your email and password.',
'email_replay' => 'This email is already on the site', 'email_replay' => 'This email is already on the site',
'email_forbidden' => 'Registration with the specified e-mail is forbidden',
'multiple_accounts' => 'Do not register multiple accounts', 'multiple_accounts' => 'Do not register multiple accounts',
'five_width' => 'Cover width less than 500px', 'five_width' => 'Cover width less than 500px',
'five_format' => 'Wrong file type', 'five_format' => 'Wrong file type',

View File

@ -47,6 +47,7 @@ return [
'code_incorrect' => 'Codul este incorect sau a fost deja folosit', 'code_incorrect' => 'Codul este incorect sau a fost deja folosit',
'yes_email_pass' => 'Acum vă puteți folosi adresa de e-mail și parola.', 'yes_email_pass' => 'Acum vă puteți folosi adresa de e-mail și parola.',
'email_replay' => 'Acest e-mail este deja pe site', 'email_replay' => 'Acest e-mail este deja pe site',
'email_forbidden' => 'Înregistrarea la adresa de e-mail specificată este interzisă',
'multiple_accounts' => 'Nu înregistrați mai multe conturi', 'multiple_accounts' => 'Nu înregistrați mai multe conturi',
'five_width' => 'Lățimea copertei mai mică de 500 px', 'five_width' => 'Lățimea copertei mai mică de 500 px',
'five_format' => 'Tip de fișier greșit', 'five_format' => 'Tip de fișier greșit',

View File

@ -47,6 +47,7 @@ return [
'code_incorrect' => 'Код неверен, или он уже использовался', 'code_incorrect' => 'Код неверен, или он уже использовался',
'yes_email_pass' => 'Теперь вы можете использовать свой e-mail и пароль.', 'yes_email_pass' => 'Теперь вы можете использовать свой e-mail и пароль.',
'email_replay' => 'Такой e-mail уже есть на сайте', 'email_replay' => 'Такой e-mail уже есть на сайте',
'email_forbidden' => 'Запрещена регистрация с указанным e-mail',
'multiple_accounts' => 'Не регистрируйте множественные аккаунты', 'multiple_accounts' => 'Не регистрируйте множественные аккаунты',
'five_width' => 'Ширина обложки меньше 500px', 'five_width' => 'Ширина обложки меньше 500px',
'five_format' => 'Неверный тип файла', 'five_format' => 'Неверный тип файла',

View File

@ -47,6 +47,7 @@ return [
'code_incorrect' => 'Код неправильний, або він уже використовувався', 'code_incorrect' => 'Код неправильний, або він уже використовувався',
'yes_email_pass' => 'Тепер ви можете використовувати свій e-mail та пароль.', 'yes_email_pass' => 'Тепер ви можете використовувати свій e-mail та пароль.',
'email_replay' => 'Такий e-mail вже є на сайті', 'email_replay' => 'Такий e-mail вже є на сайті',
'email_forbidden' => 'Заборонено реєстрацію із зазначеним e-mail',
'multiple_accounts' => 'Не реєструйте численні облікові записи', 'multiple_accounts' => 'Не реєструйте численні облікові записи',
'five_width' => 'Ширина обкладинки менше 500px', 'five_width' => 'Ширина обкладинки менше 500px',
'five_format' => 'Невірний тип файлу', 'five_format' => 'Невірний тип файлу',

View File

@ -47,6 +47,7 @@ return [
'code_incorrect' => '代码不正确或已被使用', 'code_incorrect' => '代码不正确或已被使用',
'yes_email_pass' => '现在你可以使用你的邮箱和密码了', 'yes_email_pass' => '现在你可以使用你的邮箱和密码了',
'email_replay' => '此邮箱已在网站上注册', 'email_replay' => '此邮箱已在网站上注册',
'email_forbidden' => '禁止使用指定郵箱註冊',
'multiple_accounts' => '不要注册多个帐户', 'multiple_accounts' => '不要注册多个帐户',
'five_width' => '封面宽度小于500px', 'five_width' => '封面宽度小于500px',
'five_format' => '文件类型错误', 'five_format' => '文件类型错误',

View File

@ -47,6 +47,7 @@ return [
'code_incorrect' => '代碼不正確或已被使用', 'code_incorrect' => '代碼不正確或已被使用',
'yes_email_pass' => '現在您可以使用您的電子郵件和密碼了。', 'yes_email_pass' => '現在您可以使用您的電子郵件和密碼了。',
'email_replay' => '此電子郵件已在網站上', 'email_replay' => '此電子郵件已在網站上',
'email_forbidden' => '禁止使用指定郵箱註冊',
'multiple_accounts' => '不要註冊多個帳戶', 'multiple_accounts' => '不要註冊多個帳戶',
'five_width' => '封面寬度小於 500px', 'five_width' => '封面寬度小於 500px',
'five_format' => '文件类型错误', 'five_format' => '文件类型错误',

View File

@ -0,0 +1,27 @@
<?php
declare(strict_types=1);
namespace App\Services\Сheck;
use StopSpam\Request;
use StopSpam\Query;
class EmailSpam
{
public static function index(string $email) :bool
{
if (config('integration.stopforumspam') === false) {
return false;
}
$query = new Query();
$query->addEmail($email);
$request = new Request();
$response = $request->send($query);
$item = $response->getFlowingEmail();
return $item->isAppears();
}
}

View File

@ -3,6 +3,7 @@
namespace App\Validate; namespace App\Validate;
use App\Models\AuthModel; use App\Models\AuthModel;
use App\Services\Сheck\EmailSpam;
use App\Services\Integration\Google; use App\Services\Integration\Google;
class RulesRegistration extends Validator class RulesRegistration extends Validator
@ -54,6 +55,10 @@ class RulesRegistration extends Validator
// Проверим Email // Проверим Email
self::email($data['email'], $redirect); self::email($data['email'], $redirect);
if (EmailSpam::index($data['email']) === true) {
is_return(__('msg.email_forbidden'), 'error', $redirect);
}
if (is_array(AuthModel::checkRepetitions($data['email'], 'email'))) { if (is_array(AuthModel::checkRepetitions($data['email'], 'email'))) {
is_return(__('msg.email_replay'), 'error', $redirect); is_return(__('msg.email_replay'), 'error', $redirect);
} }

View File

@ -41,7 +41,8 @@
"phpmailer/phpmailer": "^6.8.0", "phpmailer/phpmailer": "^6.8.0",
"symfony/dom-crawler": "6.0.x-dev", "symfony/dom-crawler": "6.0.x-dev",
"symfony/css-selector": "6.0.x-dev", "symfony/css-selector": "6.0.x-dev",
"guzzlehttp/guzzle": "7.7.x-dev" "guzzlehttp/guzzle": "7.7.x-dev",
"gemorroj/stop-spam": "dev-master"
}, },
"autoload": { "autoload": {
"classmap": [ "classmap": [

View File

@ -36,7 +36,10 @@ return [
// Screenshots of the service https://screenshotone.com/ // Screenshots of the service https://screenshotone.com/
// Скриншоты сервиса https://screenshotone.com/ // Скриншоты сервиса https://screenshotone.com/
'sc_access_key' => '***', 'sc_access_key' => '***',
'sc_secret_key' => '***', 'sc_secret_key' => '***',
// Enable spam detection (email) on stopforumspam.com
// Включить определение спама (email) по stopforumspam.com
'stopforumspam' => false,
]; ];