formlardan ve request ile gelen veriler ile sql inject - login hack - yapılamamasını dolayısıyla sitemin güvenliğini nasıl sağlarım. Mysqli kullanıyorum.
$query= "SELECT * FROM user WHERE id='$uid'";
$data=mysqli_query($conn,$query);
$row = mysqli_fetch_array($data);
$user_name= $row["name"];
kullandığım örnek sorgu yapısı bu. çoğu yerde farklı kullanılar görüyorum prapare falan ama onları anlayamadım. Yardımcı olursanız sevinirim tşk.
mysql inject engelleme
5
●201
- 02-03-2021, 11:05:54function noinject($kelime) {
$kelime = str_replace("'"," ",$kelime);
$kelime = str_replace("--","_",$kelime);
$kelime = str_replace("/*"," ",$kelime);
$kelime = str_replace("*/"," ",$kelime);
$kelime = str_replace(";"," ",$kelime);
$kelime = str_replace("drop","drp",$kelime);
$kelime = str_replace("DROP","DRP",$kelime);
$kelime = str_replace("alter","atr",$kelime);
$kelime = str_replace("ALTER","atr",$kelime);
$kelime = str_replace("HTTP://","url:",$kelime);
$kelime = str_replace("http://","url:",$kelime);
$kelime = str_replace("href=","href=http://vildansalgar.com.tr ref=",$kelime);
return $kelime;
}
daha önce php4-5 zamanında yukarıdaki gibi bir fonksiyon kullanmışım.
ayrıca netde
$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);
şeklinde bir kullanım gördüm bunlar yeterli mi sizce ? - 03-03-2021, 18:38:59hocam ek olarak strip_tags(); kullanınız.gurdeniz adlı üyeden alıntı: mesajı görüntüle
$username = mysql_real_escape_string(strip_tags($_POST['username'])); - 03-03-2021, 23:13:08herhangi bir veritabanı sınıfı kullanarak hem temiz kod yazar hem de temel güvenlik önlemlerini otomatik almış olursun
--
https://github.com/tayfunerbilen/bas...rc/BasicDB.php
$query = $db->from('user')
->where('id', $uid)
->first();