Avec la popularité de l'API Web, la sécurité de l'API devient de plus en plus importante. Dans Laravel, nous pouvons utiliser des règles de validation et un middleware intégrés pour valider et protéger les requêtes API.
Laravel fournit une série de règles de validation, telles que "obligatoire" (obligatoire), " email " (format email) et ainsi de suite. Nous pouvons appliquer ces règles à notre interface API pour garantir l'exactitude des paramètres de l'interface.
Par exemple, si nous voulons vérifier les paramètres d'une interface API enregistrée, nous pouvons utiliser le code suivant :
public function register(Request $request) { $validatedData = $request->validate([ 'name' => 'required|string|max:255', 'email' => 'required|string|email|max:255|unique:users', 'password' => 'required|string|min:8', ]); // 对请求参数进行处理 // ... // 注册用户 // ... }
Dans le code ci-dessus, nous utilisons $request- >validate () pour vérifier les paramètres de la demande. Si la validation échoue, Laravel lancera automatiquement une ValidationException, et nous devrons ensuite gérer cette exception dans le gestionnaire d'exceptions.
Laravel fournit également de nombreux middleware pour améliorer la sécurité des API. Voici quelques middlewares couramment utilisés :
Nous pouvons utiliser ces middlewares directement dans la définition de la route, comme indiqué ci-dessous :
// 定义需要认证的API接口 Route::middleware(['auth'])->group(function () { Route::post('/api/foo', 'FooController@create'); Route::put('/api/foo/{id}', 'FooController@update'); }); // 定义允许跨域访问的API接口 Route::middleware(['cors'])->group(function () { Route::get('/api/bar', 'BarController@index'); }); // 定义限制请求频率的API接口 Route::middleware(['throttle'])->group(function () { Route::get('/api/baz', 'BazController@index'); });
php artisan make:middleware ValidateToken
public function handle($request, Closure $next) { $token = $request->input('token'); if (! $token || ! Token::isValid($token)) { return response()->json([ 'status' => 'error', 'message' => 'Invalid token provided', ], 401); } return $next($request); }#🎜🎜 #Dans le code ci-dessus, nous obtenons d'abord le paramètre "token" dans la requête et vérifions si le jeton est valide. S'il n'est pas valide, un code d'état 401 et un message d'erreur sont renvoyés. Sinon, poursuivez le traitement de la demande. Enfin, nous pouvons utiliser ce middleware personnalisé dans la définition de la route :
Route::middleware(['validate_token'])->group(function () { Route::post('/api/qux', 'QuxController@create'); });SummaryDans Laravel, nous pouvons utiliser la validation intégrée règles, middleware et middleware personnalisé pour vérifier les demandes d'API et améliorer la sécurité des API. Dans le même temps, nous pouvons également mettre en œuvre une logique de vérification plus complexe basée sur des besoins métier spécifiques pour protéger l’interface API contre les abus ou les attaques.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!