From bb9b1c4a57ea636563b188fb159cfc61986cee4d Mon Sep 17 00:00:00 2001 From: Tokumeikoi Date: Wed, 15 Jul 2020 15:57:12 +0800 Subject: [PATCH] optimization: validated --- .../Controllers/Admin/ConfigController.php | 2 +- .../Controllers/Admin/CouponController.php | 2 +- app/Http/Controllers/Admin/PlanController.php | 2 +- .../Admin/Server/TrojanController.php | 2 +- .../Admin/Server/V2rayController.php | 2 +- .../Controllers/Admin/TutorialController.php | 2 +- app/Http/Controllers/Admin/UserController.php | 2 +- app/Http/Requests/Admin/ConfigSave.php | 138 +++++++++--------- app/Http/Requests/Admin/CouponSave.php | 21 ++- app/Http/Requests/Admin/PlanSave.php | 25 ++-- app/Http/Requests/Admin/ServerTrojanSave.php | 27 ++-- app/Http/Requests/Admin/ServerV2raySave.php | 35 +++-- app/Http/Requests/Admin/TutorialSave.php | 13 +- app/Http/Requests/Admin/UserUpdate.php | 31 ++-- 14 files changed, 148 insertions(+), 156 deletions(-) diff --git a/app/Http/Controllers/Admin/ConfigController.php b/app/Http/Controllers/Admin/ConfigController.php index 174795da..cfd7ef45 100755 --- a/app/Http/Controllers/Admin/ConfigController.php +++ b/app/Http/Controllers/Admin/ConfigController.php @@ -121,7 +121,7 @@ class ConfigController extends Controller $data = $request->input(); $array = \Config::get('v2board'); foreach ($data as $k => $v) { - if (!in_array($k, array_keys(ConfigSave::RULES))) { + if (!in_array($k, array_keys($request->validated()))) { abort(500, '参数' . $k . '不在规则内,禁止修改'); } $array[$k] = $v; diff --git a/app/Http/Controllers/Admin/CouponController.php b/app/Http/Controllers/Admin/CouponController.php index 3d21ac16..761cff5b 100644 --- a/app/Http/Controllers/Admin/CouponController.php +++ b/app/Http/Controllers/Admin/CouponController.php @@ -23,7 +23,7 @@ class CouponController extends Controller public function save(CouponSave $request) { - $params = $request->only(array_keys(CouponSave::RULES)); + $params = $request->validated(); if (isset($params['limit_plan_ids'])) { $params['limit_plan_ids'] = json_encode($params['limit_plan_ids']); } diff --git a/app/Http/Controllers/Admin/PlanController.php b/app/Http/Controllers/Admin/PlanController.php index 391f6591..5914028e 100755 --- a/app/Http/Controllers/Admin/PlanController.php +++ b/app/Http/Controllers/Admin/PlanController.php @@ -42,7 +42,7 @@ class PlanController extends Controller public function save(PlanSave $request) { - $params = $request->only(array_keys(PlanSave::RULES)); + $params = $request->validated(); if ($request->input('id')) { $plan = Plan::find($request->input('id')); if (!$plan) { diff --git a/app/Http/Controllers/Admin/Server/TrojanController.php b/app/Http/Controllers/Admin/Server/TrojanController.php index 7b276467..c6bb23bf 100644 --- a/app/Http/Controllers/Admin/Server/TrojanController.php +++ b/app/Http/Controllers/Admin/Server/TrojanController.php @@ -37,7 +37,7 @@ class TrojanController extends Controller public function save(ServerTrojanSave $request) { - $params = $request->only(array_keys(ServerTrojanSave::RULES)); + $params = $request->validated(); $params['group_id'] = json_encode($params['group_id']); if (isset($params['tags'])) { $params['tags'] = json_encode($params['tags']); diff --git a/app/Http/Controllers/Admin/Server/V2rayController.php b/app/Http/Controllers/Admin/Server/V2rayController.php index 010fef19..99c2d9a7 100644 --- a/app/Http/Controllers/Admin/Server/V2rayController.php +++ b/app/Http/Controllers/Admin/Server/V2rayController.php @@ -37,7 +37,7 @@ class V2rayController extends Controller public function save(ServerV2raySave $request) { - $params = $request->only(array_keys(ServerV2raySave::RULES)); + $params = $request->validated(); $params['group_id'] = json_encode($params['group_id']); if (isset($params['tags'])) { $params['tags'] = json_encode($params['tags']); diff --git a/app/Http/Controllers/Admin/TutorialController.php b/app/Http/Controllers/Admin/TutorialController.php index 9f7345b6..4591fc8d 100644 --- a/app/Http/Controllers/Admin/TutorialController.php +++ b/app/Http/Controllers/Admin/TutorialController.php @@ -20,7 +20,7 @@ class TutorialController extends Controller public function save(TutorialSave $request) { - $params = $request->only(array_keys(TutorialSave::RULES)); + $params = $request->validated(); if (!$request->input('id')) { if (!Tutorial::create($params)) { diff --git a/app/Http/Controllers/Admin/UserController.php b/app/Http/Controllers/Admin/UserController.php index 99f58513..b7f9682d 100644 --- a/app/Http/Controllers/Admin/UserController.php +++ b/app/Http/Controllers/Admin/UserController.php @@ -53,7 +53,7 @@ class UserController extends Controller public function update(UserUpdate $request) { - $params = $request->only(array_keys(UserUpdate::RULES)); + $params = $request->validated(); $user = User::find($request->input('id')); if (!$user) { abort(500, '用户不存在'); diff --git a/app/Http/Requests/Admin/ConfigSave.php b/app/Http/Requests/Admin/ConfigSave.php index ac8a3aab..769a8a5b 100755 --- a/app/Http/Requests/Admin/ConfigSave.php +++ b/app/Http/Requests/Admin/ConfigSave.php @@ -6,75 +6,6 @@ use Illuminate\Foundation\Http\FormRequest; class ConfigSave extends FormRequest { - CONST RULES = [ - // invite & commission - 'safe_mode_enable' => 'in:0,1', - 'invite_force' => 'in:0,1', - 'invite_commission' => 'integer', - 'invite_gen_limit' => 'integer', - 'invite_never_expire' => 'in:0,1', - 'commission_first_time_enable' => 'in:0,1', - 'commission_auto_check_enable' => 'in:0,1', - // site - 'stop_register' => 'in:0,1', - 'email_verify' => 'in:0,1', - 'app_name' => '', - 'app_description' => '', - 'app_url' => 'nullable|url', - 'subscribe_url' => 'nullable|url', - 'try_out_enable' => 'in:0,1', - 'try_out_plan_id' => 'integer', - 'try_out_hour' => 'numeric', - 'email_whitelist_enable' => 'in:0,1', - 'email_whitelist_suffix' => '', - 'email_gmail_limit_enable' => 'in:0,1', - // subscribe - 'plan_change_enable' => 'in:0,1', - 'reset_traffic_method' => 'in:0,1', - 'renew_reset_traffic_enable' => 'in:0,1', - // server - 'server_token' => 'nullable|min:16', - 'server_license' => 'nullable', - 'server_log_level' => 'nullable|in:debug,info,warning,error,none', - // alipay - 'alipay_enable' => 'in:0,1', - 'alipay_appid' => 'nullable|integer|min:16', - 'alipay_pubkey' => 'max:2048', - 'alipay_privkey' => 'max:2048', - // stripe - 'stripe_alipay_enable' => 'in:0,1', - 'stripe_wepay_enable' => 'in:0,1', - 'stripe_card_enable' => 'in:0,1', - 'stripe_sk_live' => '', - 'stripe_pk_live' => '', - 'stripe_webhook_key' => '', - 'stripe_currency' => 'in:hkd,usd,sgd,eur,gbp,jpy', - // bitpayx - 'bitpayx_name' => '', - 'bitpayx_enable' => 'in:0,1', - 'bitpayx_appsecret' => '', - // paytaro - 'paytaro_name' => '', - 'paytaro_enable' => 'in:0,1', - 'paytaro_app_id' => '', - 'paytaro_app_secret' => '', - // frontend - 'frontend_theme_sidebar' => 'in:dark,light', - 'frontend_theme_header' => 'in:dark,light', - 'frontend_theme_color' => 'in:default,darkblue,black', - 'frontend_background_url' => 'nullable|url', - // tutorial - 'apple_id' => 'email', - 'apple_id_password' => '', - // email - 'email_template' => '', - // telegram - 'telegram_bot_enable' => 'in:0,1', - 'telegram_bot_token' => '', - 'telegram_discuss_id' => '', - 'telegram_channel_id' => '' - ]; - /** * Get the validation rules that apply to the request. * @@ -82,7 +13,74 @@ class ConfigSave extends FormRequest */ public function rules() { - return self::RULES; + return [ + // invite & commission + 'safe_mode_enable' => 'in:0,1', + 'invite_force' => 'in:0,1', + 'invite_commission' => 'integer', + 'invite_gen_limit' => 'integer', + 'invite_never_expire' => 'in:0,1', + 'commission_first_time_enable' => 'in:0,1', + 'commission_auto_check_enable' => 'in:0,1', + // site + 'stop_register' => 'in:0,1', + 'email_verify' => 'in:0,1', + 'app_name' => '', + 'app_description' => '', + 'app_url' => 'nullable|url', + 'subscribe_url' => 'nullable|url', + 'try_out_enable' => 'in:0,1', + 'try_out_plan_id' => 'integer', + 'try_out_hour' => 'numeric', + 'email_whitelist_enable' => 'in:0,1', + 'email_whitelist_suffix' => '', + 'email_gmail_limit_enable' => 'in:0,1', + // subscribe + 'plan_change_enable' => 'in:0,1', + 'reset_traffic_method' => 'in:0,1', + 'renew_reset_traffic_enable' => 'in:0,1', + // server + 'server_token' => 'nullable|min:16', + 'server_license' => 'nullable', + 'server_log_level' => 'nullable|in:debug,info,warning,error,none', + // alipay + 'alipay_enable' => 'in:0,1', + 'alipay_appid' => 'nullable|integer|min:16', + 'alipay_pubkey' => 'max:2048', + 'alipay_privkey' => 'max:2048', + // stripe + 'stripe_alipay_enable' => 'in:0,1', + 'stripe_wepay_enable' => 'in:0,1', + 'stripe_card_enable' => 'in:0,1', + 'stripe_sk_live' => '', + 'stripe_pk_live' => '', + 'stripe_webhook_key' => '', + 'stripe_currency' => 'in:hkd,usd,sgd,eur,gbp,jpy', + // bitpayx + 'bitpayx_name' => '', + 'bitpayx_enable' => 'in:0,1', + 'bitpayx_appsecret' => '', + // paytaro + 'paytaro_name' => '', + 'paytaro_enable' => 'in:0,1', + 'paytaro_app_id' => '', + 'paytaro_app_secret' => '', + // frontend + 'frontend_theme_sidebar' => 'in:dark,light', + 'frontend_theme_header' => 'in:dark,light', + 'frontend_theme_color' => 'in:default,darkblue,black', + 'frontend_background_url' => 'nullable|url', + // tutorial + 'apple_id' => 'email', + 'apple_id_password' => '', + // email + 'email_template' => '', + // telegram + 'telegram_bot_enable' => 'in:0,1', + 'telegram_bot_token' => '', + 'telegram_discuss_id' => '', + 'telegram_channel_id' => '' + ]; } public function messages() diff --git a/app/Http/Requests/Admin/CouponSave.php b/app/Http/Requests/Admin/CouponSave.php index c7da3e45..c9b194cd 100644 --- a/app/Http/Requests/Admin/CouponSave.php +++ b/app/Http/Requests/Admin/CouponSave.php @@ -6,16 +6,6 @@ use Illuminate\Foundation\Http\FormRequest; class CouponSave extends FormRequest { - const RULES = [ - 'name' => 'required', - 'type' => 'required|in:1,2', - 'value' => 'required|integer', - 'started_at' => 'required|integer', - 'ended_at' => 'required|integer', - 'limit_use' => 'nullable|integer', - 'limit_plan_ids' => 'nullable|array', - 'code' => '' - ]; /** * Get the validation rules that apply to the request. * @@ -23,7 +13,16 @@ class CouponSave extends FormRequest */ public function rules() { - return self::RULES; + return [ + 'name' => 'required', + 'type' => 'required|in:1,2', + 'value' => 'required|integer', + 'started_at' => 'required|integer', + 'ended_at' => 'required|integer', + 'limit_use' => 'nullable|integer', + 'limit_plan_ids' => 'nullable|array', + 'code' => '' + ]; } public function messages() diff --git a/app/Http/Requests/Admin/PlanSave.php b/app/Http/Requests/Admin/PlanSave.php index a82c57c8..4cb1e41e 100755 --- a/app/Http/Requests/Admin/PlanSave.php +++ b/app/Http/Requests/Admin/PlanSave.php @@ -6,18 +6,6 @@ use Illuminate\Foundation\Http\FormRequest; class PlanSave extends FormRequest { - CONST RULES = [ - 'name' => 'required', - 'content' => '', - 'group_id' => 'required', - 'transfer_enable' => 'required', - 'month_price' => 'nullable|integer', - 'quarter_price' => 'nullable|integer', - 'half_year_price' => 'nullable|integer', - 'year_price' => 'nullable|integer', - 'onetime_price' => 'nullable|integer', - 'reset_price' => 'nullable|integer' - ]; /** * Get the validation rules that apply to the request. * @@ -25,7 +13,18 @@ class PlanSave extends FormRequest */ public function rules() { - return self::RULES; + return [ + 'name' => 'required', + 'content' => '', + 'group_id' => 'required', + 'transfer_enable' => 'required', + 'month_price' => 'nullable|integer', + 'quarter_price' => 'nullable|integer', + 'half_year_price' => 'nullable|integer', + 'year_price' => 'nullable|integer', + 'onetime_price' => 'nullable|integer', + 'reset_price' => 'nullable|integer' + ]; } public function messages() diff --git a/app/Http/Requests/Admin/ServerTrojanSave.php b/app/Http/Requests/Admin/ServerTrojanSave.php index 3c3901b2..3edf0c73 100644 --- a/app/Http/Requests/Admin/ServerTrojanSave.php +++ b/app/Http/Requests/Admin/ServerTrojanSave.php @@ -6,19 +6,6 @@ use Illuminate\Foundation\Http\FormRequest; class ServerTrojanSave extends FormRequest { - CONST RULES = [ - 'show' => '', - 'name' => 'required', - 'group_id' => 'required|array', - 'parent_id' => 'nullable|integer', - 'host' => 'required', - 'port' => 'required', - 'server_port' => 'required', - 'allow_insecure' => 'nullable|in:0,1', - 'server_name' => 'nullable', - 'tags' => 'nullable|array', - 'rate' => 'required|numeric' - ]; /** * Get the validation rules that apply to the request. * @@ -26,7 +13,19 @@ class ServerTrojanSave extends FormRequest */ public function rules() { - return self::RULES; + return [ + 'show' => '', + 'name' => 'required', + 'group_id' => 'required|array', + 'parent_id' => 'nullable|integer', + 'host' => 'required', + 'port' => 'required', + 'server_port' => 'required', + 'allow_insecure' => 'nullable|in:0,1', + 'server_name' => 'nullable', + 'tags' => 'nullable|array', + 'rate' => 'required|numeric' + ]; } public function messages() diff --git a/app/Http/Requests/Admin/ServerV2raySave.php b/app/Http/Requests/Admin/ServerV2raySave.php index e5d813f0..9003da20 100755 --- a/app/Http/Requests/Admin/ServerV2raySave.php +++ b/app/Http/Requests/Admin/ServerV2raySave.php @@ -6,23 +6,6 @@ use Illuminate\Foundation\Http\FormRequest; class ServerV2raySave extends FormRequest { - CONST RULES = [ - 'show' => '', - 'name' => 'required', - 'group_id' => 'required|array', - 'parent_id' => 'nullable|integer', - 'host' => 'required', - 'port' => 'required', - 'server_port' => 'required', - 'tls' => 'required', - 'tags' => 'nullable|array', - 'rate' => 'required|numeric', - 'network' => 'required|in:tcp,kcp,ws,http,domainsocket,quic', - 'networkSettings' => '', - 'ruleSettings' => '', - 'tlsSettings' => '', - 'dnsSettings' => '' - ]; /** * Get the validation rules that apply to the request. * @@ -30,7 +13,23 @@ class ServerV2raySave extends FormRequest */ public function rules() { - return self::RULES; + return [ + 'show' => '', + 'name' => 'required', + 'group_id' => 'required|array', + 'parent_id' => 'nullable|integer', + 'host' => 'required', + 'port' => 'required', + 'server_port' => 'required', + 'tls' => 'required', + 'tags' => 'nullable|array', + 'rate' => 'required|numeric', + 'network' => 'required|in:tcp,kcp,ws,http,domainsocket,quic', + 'networkSettings' => '', + 'ruleSettings' => '', + 'tlsSettings' => '', + 'dnsSettings' => '' + ]; } public function messages() diff --git a/app/Http/Requests/Admin/TutorialSave.php b/app/Http/Requests/Admin/TutorialSave.php index 3e44b2a7..e194ed70 100644 --- a/app/Http/Requests/Admin/TutorialSave.php +++ b/app/Http/Requests/Admin/TutorialSave.php @@ -6,12 +6,6 @@ use Illuminate\Foundation\Http\FormRequest; class TutorialSave extends FormRequest { - CONST RULES = [ - 'title' => 'required', - // 1:windows 2:macos 3:ios 4:android 5:linux 6:router - 'category_id' => 'required|in:1,2,3,4,5,6', - 'steps' => 'required' - ]; /** * Get the validation rules that apply to the request. * @@ -19,7 +13,12 @@ class TutorialSave extends FormRequest */ public function rules() { - return self::RULES; + return [ + 'title' => 'required', + // 1:windows 2:macos 3:ios 4:android 5:linux 6:router + 'category_id' => 'required|in:1,2,3,4,5,6', + 'steps' => 'required' + ]; } public function messages() diff --git a/app/Http/Requests/Admin/UserUpdate.php b/app/Http/Requests/Admin/UserUpdate.php index 8dd82d28..01d54b36 100644 --- a/app/Http/Requests/Admin/UserUpdate.php +++ b/app/Http/Requests/Admin/UserUpdate.php @@ -6,21 +6,6 @@ use Illuminate\Foundation\Http\FormRequest; class UserUpdate extends FormRequest { - CONST RULES = [ - 'email' => 'required|email', - 'password' => 'nullable', - 'transfer_enable' => 'numeric', - 'expired_at' => 'nullable|integer', - 'banned' => 'required|in:0,1', - 'plan_id' => 'nullable|integer', - 'commission_rate' => 'nullable|integer|min:0|max:100', - 'discount' => 'nullable|integer|min:0|max:100', - 'is_admin' => 'required|in:0,1', - 'u' => 'integer', - 'd' => 'integer', - 'balance' => 'integer', - 'commission_balance' => 'integer' - ]; /** * Get the validation rules that apply to the request. * @@ -28,7 +13,21 @@ class UserUpdate extends FormRequest */ public function rules() { - return self::RULES; + return [ + 'email' => 'required|email', + 'password' => 'nullable', + 'transfer_enable' => 'numeric', + 'expired_at' => 'nullable|integer', + 'banned' => 'required|in:0,1', + 'plan_id' => 'nullable|integer', + 'commission_rate' => 'nullable|integer|min:0|max:100', + 'discount' => 'nullable|integer|min:0|max:100', + 'is_admin' => 'required|in:0,1', + 'u' => 'integer', + 'd' => 'integer', + 'balance' => 'integer', + 'commission_balance' => 'integer' + ]; } public function messages()