Laravel, le framework de développement PHP bien connu, a précédemment signalé une vulnérabilité d'injection SQL à haut risque sur le blog officiel. Voici une brève analyse.
Tout d'abord, cette vulnérabilité appartient au codage irrégulier du site Web. Le responsable a donné un indice :
Mais le responsable l'a quand même fait. Il a été corrigé et peut être corrigé en mettant à niveau vers la dernière version V5.8.7. Localisons d'abord ici :Illuminate\Validation\Rule
Rule::unique('users')->ignore($id),
\Illuminate\Validation\Rules\Unique.php class Unique { ... public function ignore($id, $idColumn = null) { if ($id instanceof Model) { return $this->ignoreModel($id, $idColumn); } $this->ignore = $id; $this->idColumn = $idColumn ?? 'id'; return $this; }
$this->ignore = $id; $this->idColumn = 'id';
$id = $request->input('id');
Illuminate\Validation\Rules\Unique.php public function __toString() { ... ... }
Illuminate\Validation\Rules\Unique.php V5.8.7【最新版】 public function __toString() { $this->ignore ? '"'.addslashes($this->ignore).'"' : 'NULL', } Illuminate\Validation\Rules\Unique.php V5.8.4 public function __toString() { $this->ignore ? '"'.$this->ignore.'"' : 'NULL', }
Illuminate\Validation\Rules\DatabaseRule.php
Tutoriel d'introduction au framework Laravel pour apprendre !
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!