Ben veritabanı aramaların bir sürü tamamen özel bir PHP sitesi var. Ben sadece enjeksiyon girildi. Bu kod küçük bir parça aşağıda benim PHP sayfaları onlarca geldi.
<?php /**/ eval(base64_decode(big string of code....
Benim SQL çağrıları ve bu tür hakkında oldukça dikkatli oldum; bu formatta tüm konum:
$query = sprintf("UPDATE Sales SET `Shipped`='1', `Tracking_Number`='%s' WHERE ID='%s' LIMIT 1 ;",
mysql_real_escape_string($trackNo),
mysql_real_escape_string($id));
$result = mysql_query($query);
mysql_close();
Kayıt için, ben nadiren de olsa sonunda mysql_close () kullanın. Bu sadece ben yakaladı kod olması oldu. Ben mysql_real_escape_string (), kullanmayan herhangi bir yer düşünemiyorum (ben bir çift muhtemelen vardır eminim rağmen. Ben yakında öğrenmek için grepping olacak) kullanıcıların özel HTML koyabilirsiniz hiçbir yerde de var ya da bir şey. Aslında, onlar SQL kullanıyorsanız, kullanıcı tarafından erişilebilen sayfaların en "SELECT * DAN" neredeyse kaçınılmaz olan, tüm aramaları bağlı bir GET veya POST, sayfalarını kullanmak.
Açıkçası benim güvenliğini artırma gerekiyor, ama ben böyle bir saldırıyı hiç ettik ve ben ne yapmalıyım olumlu değilim. Ben bütün girdilere sınırlar koymak ve ben bir yere mysql_real_escape_string cevapsız görmek isteyen üzerinden gitmeye karar verdik ... Herkesten herhangi bir öneriniz var mı?
Ayrıca ... Bu kod türü ne yapıyor? Neden var?