İçeriğe geç

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.

<?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]
);

Kullanıcı girdisini SQL’e gömmeyin; bağlı parametre (? / adlandırılmış) kullanın.