|
22 | 22 | use Module\Member\Provider\RegisterProcessor\AbstractMemberRegisterProcessorProvider; |
23 | 23 | use Module\Member\Provider\RegisterProcessor\MemberRegisterProcessorProvider; |
24 | 24 | use Module\Member\Util\MemberUtil; |
| 25 | +use Module\Member\Util\SecurityUtil; |
25 | 26 | use Module\Vendor\Email\MailSendJob; |
26 | | -use Module\Vendor\Provider\Captcha\CaptchaProvider; |
27 | 27 | use Module\Vendor\Session\SessionUtil; |
28 | 28 | use Module\Vendor\Sms\SmsUtil; |
29 | 29 | use Module\Vendor\Support\ResponseCodes; |
@@ -231,11 +231,11 @@ public function oauthBind($oauthType = null) |
231 | 231 | if (!Session::get('oauthBindCaptchaPass', false)) { |
232 | 232 | if (!CaptchaFacade::check($captcha)) { |
233 | 233 | SessionUtil::atomicProduce('oauthBindCaptchaPassCount', 1); |
234 | | - return Response::generate(-1, '图片验证失败'); |
| 234 | + return Response::generate(-1, '请重新进行安全验证'); |
235 | 235 | } |
236 | 236 | } |
237 | 237 | if (!SessionUtil::atomicConsume('oauthBindCaptchaPassCount')) { |
238 | | - return Response::generate(-1, '请重新输入图片验证码'); |
| 238 | + return Response::generate(-1, '请进行安全验证'); |
239 | 239 | } |
240 | 240 | if (modstart_config('Member_OauthBindPhoneEnable')) { |
241 | 241 | if (empty($phone)) { |
@@ -612,11 +612,11 @@ public function login() |
612 | 612 | } |
613 | 613 |
|
614 | 614 | if (modstart_config('loginCaptchaEnable', false)) { |
615 | | - $captchaProvider = modstart_config('loginCaptchaProvider', null); |
| 615 | + $captchaProvider = SecurityUtil::loginCaptchaProvider(); |
616 | 616 | if ($captchaProvider) { |
617 | | - $ret = CaptchaProvider::get($captchaProvider)->validate(); |
| 617 | + $ret = $captchaProvider->validate(); |
618 | 618 | if (Response::isError($ret)) { |
619 | | - return $ret; |
| 619 | + return Response::generate(-1, $ret['msg']); |
620 | 620 | } |
621 | 621 | } else { |
622 | 622 | if (!CaptchaFacade::check($input->getTrimString('captcha'))) { |
@@ -750,9 +750,17 @@ public function loginPhoneVerify() |
750 | 750 | return Response::generate(-1, '手机为空或格式不正确'); |
751 | 751 | } |
752 | 752 |
|
753 | | - $captcha = $input->getTrimString('captcha'); |
754 | | - if (!CaptchaFacade::check($captcha)) { |
755 | | - return Response::generate(-1, '图片验证码错误'); |
| 753 | + $provider = SecurityUtil::loginCaptchaProvider(); |
| 754 | + if ($provider) { |
| 755 | + $ret = $provider->validate(); |
| 756 | + if (Response::isError($ret)) { |
| 757 | + return $ret; |
| 758 | + } |
| 759 | + } else { |
| 760 | + $captcha = $input->getTrimString('captcha'); |
| 761 | + if (!CaptchaFacade::check($captcha)) { |
| 762 | + return Response::generate(-1, '图片验证码错误'); |
| 763 | + } |
756 | 764 | } |
757 | 765 |
|
758 | 766 | $memberUser = MemberUtil::getByPhone($phone); |
@@ -926,11 +934,11 @@ public function register() |
926 | 934 | if (!Session::get('registerCaptchaPass', false)) { |
927 | 935 | if (!CaptchaFacade::check($captcha)) { |
928 | 936 | SessionUtil::atomicProduce('registerCaptchaPassCount', 1); |
929 | | - return Response::generate(-1, '图片验证失败'); |
| 937 | + return Response::generate(-1, '请重新进行安全验证'); |
930 | 938 | } |
931 | 939 | } |
932 | 940 | if (!SessionUtil::atomicConsume('registerCaptchaPassCount')) { |
933 | | - return Response::generate(-1, '请重新输入图片验证码'); |
| 941 | + return Response::generate(-1, '请进行安全验证'); |
934 | 942 | } |
935 | 943 |
|
936 | 944 | if (modstart_config('registerPhoneEnable')) { |
@@ -1024,10 +1032,10 @@ public function registerEmailVerify() |
1024 | 1032 | } |
1025 | 1033 |
|
1026 | 1034 | if (!Session::get('registerCaptchaPass', false)) { |
1027 | | - return Response::generate(-1, '请先验证图片验证码'); |
| 1035 | + return Response::generate(-1, '请先进行安全验证'); |
1028 | 1036 | } |
1029 | 1037 | if (!SessionUtil::atomicConsume('registerCaptchaPassCount')) { |
1030 | | - return Response::generate(-1, '请重新输入图片验证码'); |
| 1038 | + return Response::generate(-1, '请进行安全验证'); |
1031 | 1039 | } |
1032 | 1040 |
|
1033 | 1041 | $memberUser = MemberUtil::getByEmail($email); |
@@ -1074,10 +1082,10 @@ public function registerPhoneVerify() |
1074 | 1082 | } |
1075 | 1083 |
|
1076 | 1084 | if (!Session::get('registerCaptchaPass', false)) { |
1077 | | - return Response::generate(-1, '请先验证图片验证码'); |
| 1085 | + return Response::generate(-1, '请先进行安全验证'); |
1078 | 1086 | } |
1079 | 1087 | if (!SessionUtil::atomicConsume('registerCaptchaPassCount')) { |
1080 | | - return Response::generate(-1, '请重新输入图片验证码'); |
| 1088 | + return Response::generate(-1, '请进行安全验证'); |
1081 | 1089 | } |
1082 | 1090 |
|
1083 | 1091 | $memberUser = MemberUtil::getByPhone($phone); |
@@ -1113,11 +1121,19 @@ public function registerPhoneVerify() |
1113 | 1121 | */ |
1114 | 1122 | public function registerCaptchaVerify() |
1115 | 1123 | { |
1116 | | - $input = InputPackage::buildFromInput(); |
1117 | | - $captcha = $input->getTrimString('captcha'); |
1118 | | - if (!CaptchaFacade::check($captcha)) { |
1119 | | - SessionUtil::atomicRemove('registerCaptchaPassCount'); |
1120 | | - return Response::generate(ResponseCodes::CAPTCHA_ERROR, '验证码错误'); |
| 1124 | + $provider = SecurityUtil::registerCaptchaProvider(); |
| 1125 | + if ($provider) { |
| 1126 | + $ret = $provider->validate(); |
| 1127 | + if (Response::isError($ret)) { |
| 1128 | + return $ret; |
| 1129 | + } |
| 1130 | + } else { |
| 1131 | + $input = InputPackage::buildFromInput(); |
| 1132 | + $captcha = $input->getTrimString('captcha'); |
| 1133 | + if (!CaptchaFacade::check($captcha)) { |
| 1134 | + SessionUtil::atomicRemove('registerCaptchaPassCount'); |
| 1135 | + return Response::generate(ResponseCodes::CAPTCHA_ERROR, '验证码错误'); |
| 1136 | + } |
1121 | 1137 | } |
1122 | 1138 | Session::put('registerCaptchaPass', true); |
1123 | 1139 | $registerCaptchaPassCount = 1; |
@@ -1183,10 +1199,10 @@ public function oauthBindEmailVerify() |
1183 | 1199 | } |
1184 | 1200 |
|
1185 | 1201 | if (!Session::get('oauthBindCaptchaPass', false)) { |
1186 | | - return Response::generate(-1, '请先验证图片验证码'); |
| 1202 | + return Response::generate(-1, '请先进行安全验证'); |
1187 | 1203 | } |
1188 | 1204 | if (!SessionUtil::atomicConsume('oauthBindCaptchaPassCount')) { |
1189 | | - return Response::generate(-1, '请重新输入图片验证码'); |
| 1205 | + return Response::generate(-1, '请进行安全验证'); |
1190 | 1206 | } |
1191 | 1207 |
|
1192 | 1208 | $memberUser = MemberUtil::getByEmail($email); |
@@ -1230,10 +1246,10 @@ public function oauthBindPhoneVerify() |
1230 | 1246 | } |
1231 | 1247 |
|
1232 | 1248 | if (!Session::get('oauthBindCaptchaPass', false)) { |
1233 | | - return Response::generate(-1, '请先验证图片验证码'); |
| 1249 | + return Response::generate(-1, '请先进行安全验证'); |
1234 | 1250 | } |
1235 | 1251 | if (!SessionUtil::atomicConsume('oauthBindCaptchaPassCount')) { |
1236 | | - return Response::generate(-1, '请重新输入图片验证码'); |
| 1252 | + return Response::generate(-1, '请进行安全验证'); |
1237 | 1253 | } |
1238 | 1254 |
|
1239 | 1255 | $memberUser = MemberUtil::getByPhone($phone); |
|
0 commit comments