有名な PHP 開発フレームワークである Laravel は、高リスクの SQL インジェクションの脆弱性を公式ブログで以前に報告しました。
#第一に、この脆弱性は Web サイトの不規則なコーディングに起因します。担当者は次のヒントを提供しました: でも公式はやりました パッチが適用されており、最新バージョン V5.8.7 にアップグレードすることで修正できます。 まずここを見つけましょう: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
Laravel Framework Getting Started Tutorial 列にアクセスして学習してください。
以上がPHP フレームワーク Laravel の最新の SQL インジェクション脆弱性の簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。