增加 请求安全处理
This commit is contained in:
parent
8b0025aa4b
commit
dc5d9bca55
@ -9,6 +9,7 @@
|
|||||||
use Illuminate\Http\JsonResponse;
|
use Illuminate\Http\JsonResponse;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Arr;
|
use Illuminate\Support\Arr;
|
||||||
|
use Illuminate\Support\Facades\Cache;
|
||||||
|
|
||||||
class UserController extends Controller
|
class UserController extends Controller
|
||||||
{
|
{
|
||||||
@ -74,10 +75,19 @@ public function update(Request $request, User $user): JsonResponse
|
|||||||
$request->validate([
|
$request->validate([
|
||||||
'balance' => 'required|numeric|min:-10000|max:10000',
|
'balance' => 'required|numeric|min:-10000|max:10000',
|
||||||
'description' => 'required|string',
|
'description' => 'required|string',
|
||||||
|
'unique_id' => 'nullable|string',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$module = $request->user('module');
|
$module = $request->user('module');
|
||||||
|
|
||||||
|
if ($request->filled('balance')) {
|
||||||
|
if ($request->filled('unique_id')) {
|
||||||
|
$unique_id_cache_key = 'module:'.$request->user('module')->id.':balance:unique_id:'.$request->input('unique_id');
|
||||||
|
if (Cache::has($unique_id_cache_key)) {
|
||||||
|
return $this->error('重复的请求。');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$balance = $request->input('balance');
|
$balance = $request->input('balance');
|
||||||
|
|
||||||
if ($balance < 0) {
|
if ($balance < 0) {
|
||||||
@ -110,6 +120,12 @@ public function update(Request $request, User $user): JsonResponse
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($request->filled('unique_id')) {
|
||||||
|
$unique_id_cache_key = 'module:'.$request->user('module')->id.':balance:unique_id:'.$request->input('unique_id');
|
||||||
|
Cache::put($unique_id_cache_key, $trans->id, now()->addDay());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$trans['commission'] = config('settings.billing.commission');
|
$trans['commission'] = config('settings.billing.commission');
|
||||||
|
|
||||||
return $this->success($trans);
|
return $this->success($trans);
|
||||||
|
Loading…
Reference in New Issue
Block a user