-
Üyelik
30.05.2018
-
Yaş/Cinsiyet
23 / E
-
Meslek
Öğrenci
-
Konum
İstanbul Avrupa
-
Ad Soyad
A** H**
-
Mesajlar
217
-
Beğeniler
104 / 35
-
Ticaret
1, (%100)
Herkese Selam, ben projemde veri tabanına kayıt, güncelleme işlemleri yapmaktayım fakat ben izlediğim eğitimdeki gibi bu işlemleri yapmaktayım. Bir başka konuda projemden bir kaç kod atmıştım ve bir kaç kişi bana bu kodların çok açık yaratacağını ve sitemin hacklenebileceğini yazdı. Örnek bir veri tabanı güncellemesi kodunu aşağıda bırakıyorum. Tecrübeli arkadaşlar bana bu kod üzerinden alınabilecek tüm önlemleri gösterirse çok sevinirim. İyi günler
Örnek Kod(Bu kodda genel-ayar.php dosyasından form aracılığı ile site ayarlarını değiştiriyorum):
if (isset($_POST['GenelAyarlarGuncelle']))
{
$GenelAyarKaydet = $VeritabaniBaglantisi->prepare("UPDATE ayarlar SET
SiteLink = :link,
SiteTitle = :title,
SiteDescription = :decription,
SiteKeywords = :keywords,
CopyrightYazisi = :copyrightyazisi
WHERE id = 1");
$Update = $GenelAyarKaydet->execute(array(
'link' => $_POST['SiteLink'],
'title' => $_POST['SiteTitle'],
'decription' => $_POST['SiteDescription'],
'keywords' => $_POST['SiteKeywords'],
'copyrightyazisi' => $_POST['CopyrightYazisi']
));
if ($Update)
{
Header("Location:../genel-ayarlar.php?durum=ok");
}
else
{
Header("Location:../genel-ayarlar.php?durum=no");
}
}
mfgrbz
Zurna da bir çalgıdır
Kullanıcı
-
Üyelik
10.06.2018
-
Yaş/Cinsiyet
38 / E
-
Meslek
Yazılım & Grafik
-
Konum
İzmir
-
Ad Soyad
M** G**
-
Mesajlar
124
-
Beğeniler
15 / 54
-
Ticaret
0, (%0)
Selamlar, tüm $_POST 'ları kesinlikle filtrelemelisin. Böyle direk geleni çalıştırırsan Sql injection atak alırsın.
$string_ise= filter_input(INPUT_POST, 'postadi', FILTER_SANITIZE_STRING);
$sadece_rakam_ise= filter_input(INPUT_POST, 'postadi', FILTER_SANITIZE_NUMBER_INT);
En azından bu filtreyi kullan, daha birçok filtre şart ama başlangıçta bunu kullanabilirsin.
Herzaman bir değişkene ata ve filtrele Get&Post'ları.
1 kişi bu mesajı beğendi.
-
Üyelik
23.11.2015
-
Yaş/Cinsiyet
33 / E
-
Meslek
webkolik
-
Konum
İstanbul Anadolu
-
Ad Soyad
N** S**
-
Mesajlar
52
-
Beğeniler
6 / 13
-
Ticaret
0, (%0)
Bir filitreleme ve güvenlik fonksiyonu yazarak tüm değişkenleri filitrelemeden gecirin
Storyman
Kimlik Onayı Bekliyor
Banlı Kullanıcı
-
Üyelik
31.08.2020
-
Yaş/Cinsiyet
44 / E
-
Meslek
Reklam Ajansı ve Web Geliştirm
-
Konum
Bursa
-
Ad Soyad
E** T**
-
Mesajlar
210
-
Beğeniler
129 / 105
-
Ticaret
1, (%100)
WHERE id = 1
Gibi yerler direkt açık. Pdo nimetlerinden faydalanıp en azından" ? " İle sorguya almak lazım.