SQLi Zaafiyetinden Korunma
SQLi zaafiyeti yememek için ne yapmalı
Metin birleştirme (concatanation) işlemini kendimiz yapmamalıyız. Bu işi framework'e ya da db'ye bırakmalıyız. Örneğin DB tarafında "prepared statement" ile SQL cümleciğin sabit hali ön belleklenir ve değişken kısmı veri tabanı tarafından birleştirilir.
SELECT * FROM table_name WHERE name = 'ad';
Yukarda name'e kadar olan kısım sabit sorgu sablonu (query template) olarak ayarlanır. Daha sonra da name adlı veri DB'de birleştirilir. Bİrleştirirken gerekli "encode" lamaları da yapar. Aşağıdaki örnek koddakine benzer framework'lerle "prepared statement"lar kullanılabilir.
$pdo -> prepare("SELECT * FROM table_name WHERE id =:'id");
$pdo.exec(["id" => $_GET['id']);
Last updated
Was this helpful?