Ham SQL Injection Riski (ARCH7055)
Anahtar php.orm.raw-sql-injection-risk · Önem error · Kategori orm
Ham SQL’i bağlı parametre yerine string interpolasyonu/birleştirmeyle kurmak hem bir SQL injection vektörü hem de sorgu-plan önbelleğini bozan bir kullanımdır. Değişken değerleri her zaman parametre olarak bağlayın.
Hatalı
Bölüm başlığı “Hatalı”<?php$email = $_GET['email'];$users = DB::select("SELECT * FROM users WHERE email = '$email'");<?php$email = $_GET['email'];$users = DB::select( 'SELECT * FROM users WHERE email = ?', [$email]);Düzeltme
Bölüm başlığı “Düzeltme”Kullanıcı girdisini SQL’e gömmeyin; bağlı parametre (? / adlandırılmış) kullanın.