mirror of
https://github.com/v2board/v2board.git
synced 2025-01-11 00:29:09 +08:00
feature: google recaptcha
This commit is contained in:
parent
3d26fda064
commit
54ab44c3fd
@ -60,7 +60,10 @@ class ConfigController extends Controller
|
|||||||
'try_out_hour' => (int)config('v2board.try_out_hour', 1),
|
'try_out_hour' => (int)config('v2board.try_out_hour', 1),
|
||||||
'email_whitelist_enable' => (int)config('v2board.email_whitelist_enable', 0),
|
'email_whitelist_enable' => (int)config('v2board.email_whitelist_enable', 0),
|
||||||
'email_whitelist_suffix' => config('v2board.email_whitelist_suffix', Dict::EMAIL_WHITELIST_SUFFIX_DEFAULT),
|
'email_whitelist_suffix' => config('v2board.email_whitelist_suffix', Dict::EMAIL_WHITELIST_SUFFIX_DEFAULT),
|
||||||
'email_gmail_limit_enable' => config('v2board.email_gmail_limit_enable', 0)
|
'email_gmail_limit_enable' => config('v2board.email_gmail_limit_enable', 0),
|
||||||
|
'recaptcha_enable' => (int)config('v2board.recaptcha_enable', 0),
|
||||||
|
'recaptcha_key' => config('v2board.recaptcha_key'),
|
||||||
|
'recaptcha_site_key' => config('v2board.recaptcha_site_key')
|
||||||
],
|
],
|
||||||
'subscribe' => [
|
'subscribe' => [
|
||||||
'plan_change_enable' => (int)config('v2board.plan_change_enable', 1),
|
'plan_change_enable' => (int)config('v2board.plan_change_enable', 1),
|
||||||
|
@ -12,7 +12,8 @@ class CouponController extends Controller
|
|||||||
{
|
{
|
||||||
public function fetch(Request $request)
|
public function fetch(Request $request)
|
||||||
{
|
{
|
||||||
$coupons = Coupon::all();
|
$coupon = Coupon::orderBy('created_at', 'desc');
|
||||||
|
$coupons = $coupon->get();
|
||||||
foreach ($coupons as $k => $v) {
|
foreach ($coupons as $k => $v) {
|
||||||
if ($coupons[$k]['limit_plan_ids']) $coupons[$k]['limit_plan_ids'] = json_decode($coupons[$k]['limit_plan_ids']);
|
if ($coupons[$k]['limit_plan_ids']) $coupons[$k]['limit_plan_ids'] = json_decode($coupons[$k]['limit_plan_ids']);
|
||||||
}
|
}
|
||||||
|
@ -14,11 +14,19 @@ use App\Models\InviteCode;
|
|||||||
use App\Utils\Helper;
|
use App\Utils\Helper;
|
||||||
use App\Utils\Dict;
|
use App\Utils\Dict;
|
||||||
use App\Utils\CacheKey;
|
use App\Utils\CacheKey;
|
||||||
|
use ReCaptcha\ReCaptcha;
|
||||||
|
|
||||||
class AuthController extends Controller
|
class AuthController extends Controller
|
||||||
{
|
{
|
||||||
public function register(AuthRegister $request)
|
public function register(AuthRegister $request)
|
||||||
{
|
{
|
||||||
|
if ((int)config('v2board.recaptcha_enable', 0)) {
|
||||||
|
$recaptcha = new ReCaptcha(config('v2board.recaptcha_key'));
|
||||||
|
$recaptchaResp = $recaptcha->verify($request->input('recaptcha_data'));
|
||||||
|
if (!$recaptchaResp->isSuccess()) {
|
||||||
|
abort(500, '验证码有误');
|
||||||
|
}
|
||||||
|
}
|
||||||
if ((int)config('v2board.email_whitelist_enable', 0)) {
|
if ((int)config('v2board.email_whitelist_enable', 0)) {
|
||||||
if (!Helper::emailSuffixVerify(
|
if (!Helper::emailSuffixVerify(
|
||||||
$request->input('email'),
|
$request->input('email'),
|
||||||
|
@ -13,6 +13,7 @@ use App\Jobs\SendEmailJob;
|
|||||||
use App\Models\InviteCode;
|
use App\Models\InviteCode;
|
||||||
use App\Utils\Dict;
|
use App\Utils\Dict;
|
||||||
use App\Utils\CacheKey;
|
use App\Utils\CacheKey;
|
||||||
|
use ReCaptcha\ReCaptcha;
|
||||||
|
|
||||||
class CommController extends Controller
|
class CommController extends Controller
|
||||||
{
|
{
|
||||||
@ -24,7 +25,9 @@ class CommController extends Controller
|
|||||||
'isInviteForce' => (int)config('v2board.invite_force', 0) ? 1 : 0,
|
'isInviteForce' => (int)config('v2board.invite_force', 0) ? 1 : 0,
|
||||||
'emailWhitelistSuffix' => (int)config('v2board.email_whitelist_enable', 0)
|
'emailWhitelistSuffix' => (int)config('v2board.email_whitelist_enable', 0)
|
||||||
? $this->getEmailSuffix()
|
? $this->getEmailSuffix()
|
||||||
: 0
|
: 0,
|
||||||
|
'isRecaptcha' => (int)config('v2board.recaptcha_enable', 0) ? 1 : 0,
|
||||||
|
'recaptchaSiteKey' => config('v2board.recaptcha_site_key')
|
||||||
]
|
]
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
@ -38,6 +41,13 @@ class CommController extends Controller
|
|||||||
|
|
||||||
public function sendEmailVerify(CommSendEmailVerify $request)
|
public function sendEmailVerify(CommSendEmailVerify $request)
|
||||||
{
|
{
|
||||||
|
if ((int)config('v2board.recaptcha_enable', 0)) {
|
||||||
|
$recaptcha = new ReCaptcha(config('v2board.recaptcha_key'));
|
||||||
|
$recaptchaResp = $recaptcha->verify($request->input('recaptcha_data'));
|
||||||
|
if (!$recaptchaResp->isSuccess()) {
|
||||||
|
abort(500, '验证码有误');
|
||||||
|
}
|
||||||
|
}
|
||||||
$email = $request->input('email');
|
$email = $request->input('email');
|
||||||
if (Cache::get(CacheKey::get('LAST_SEND_EMAIL_VERIFY_TIMESTAMP', $email))) {
|
if (Cache::get(CacheKey::get('LAST_SEND_EMAIL_VERIFY_TIMESTAMP', $email))) {
|
||||||
abort(500, '验证码已发送,请过一会再请求');
|
abort(500, '验证码已发送,请过一会再请求');
|
||||||
|
@ -35,6 +35,9 @@ class ConfigSave extends FormRequest
|
|||||||
'email_whitelist_enable' => 'in:0,1',
|
'email_whitelist_enable' => 'in:0,1',
|
||||||
'email_whitelist_suffix' => '',
|
'email_whitelist_suffix' => '',
|
||||||
'email_gmail_limit_enable' => 'in:0,1',
|
'email_gmail_limit_enable' => 'in:0,1',
|
||||||
|
'recaptcha_enable' => 'in:0,1',
|
||||||
|
'recaptcha_key' => '',
|
||||||
|
'recaptcha_site_key' => '',
|
||||||
// subscribe
|
// subscribe
|
||||||
'plan_change_enable' => 'in:0,1',
|
'plan_change_enable' => 'in:0,1',
|
||||||
'reset_traffic_method' => 'in:0,1',
|
'reset_traffic_method' => 'in:0,1',
|
||||||
|
@ -11,6 +11,7 @@
|
|||||||
"require": {
|
"require": {
|
||||||
"php": "^7.2",
|
"php": "^7.2",
|
||||||
"fideloper/proxy": "^4.0",
|
"fideloper/proxy": "^4.0",
|
||||||
|
"google/recaptcha": "^1.2",
|
||||||
"laravel/framework": "^6.0",
|
"laravel/framework": "^6.0",
|
||||||
"laravel/tinker": "^1.0",
|
"laravel/tinker": "^1.0",
|
||||||
"lokielse/omnipay-alipay": "3.0.6",
|
"lokielse/omnipay-alipay": "3.0.6",
|
||||||
|
2
public/assets/user/umi.js
vendored
2
public/assets/user/umi.js
vendored
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user