User Tag List

Yeni Konu Aç Cevap Yaz
Toplam 2 Sayfadan 1. Sayfa
31.12.2010, 20:42 1 (permalink)
Azat Metin
Azat Metin Üye
  • Üyelik Tarihi4.11.2010
  • Ticaret Sayısı0
  • Mesajlar284
SQL Injection Saldırılarına Önlem #permalink (permalink)
SQL Injection saldırıları ile neredeyse herkesin başı dertte büyük sistemler SQL Injection ile çok kolay anasını ağlatabilmektedirler bende bir nebzede olsa kabak gibi duran SQL Injection saldırısını önlemeyi anlatacağim.
Örnek olarak bir sorgu alalım ben projelerimde kullandıgım değerlerden örnek vericem


$_POST'a gelen değerler çok önemlidir çünki mysqldeki değerler ile karşilaştirilacaktir..

PHP- Kodu:
$sifre=$_POST['sifre']);
$sifre=mysql_query("select * from yonetici where `id`='$sifre'");
mysql_num_rows($kontrolet
Böyle birşey kullanmak tamamen bir hatadır çünki SQL Injection yapacak arkadaşin ` işareti olusturmasina gerek
bırakmadiniz böylece SQL ınjection saldırıları ile USER ve PASSWORD
bilgileriniz SQLden çekilebilir bunu önlemek ise basittir

PHP- Kodu:
$sifre=$_POST['sifre']);
$sifre=mysql_query("select * from yonetici where id='$sifre'");
mysql_num_rows($kontrolet


böyle yapildiği taktirde SQL açiği oluşması için `gerekliliğini belirttik..` önlemek için $_POST a bunları yapmak yeterli olcaktir.


PHP- Kodu:
$sifre=mysql_real_escape_string(htmlspecialchars($_POST['sifre']));
$sifre=mysql_query("select * from yonetici where id='$sifre'");
mysql_num_rows($kontrolet



ysql_query de id sifre karşilaştirmasini böyle yaparsak arkadaşın ` işareti olusturması kosulunu koruz daha sonra mysql_real_escape_string fonksiyonu kullandiğimiz için arkadaş ne zaman ` oluşturmaya kalksa babayı alıcaktir

Umarım kendimi ifade edebilmişimdir.
Konu ile ilgili sorulara herzaman açığım.
Saygılarımla..
Azat Metin / www.yasalhost.com
Azat@yasalhost.com
Hızlı PM Gönder
Gönder
Alıntı ile Cevapla
10.04.2011, 00:23 2 (permalink)
r4x
r4x Üye
  • Üyelik Tarihi18.03.2011
  • Yaş40
  • Ticaret Sayısı0
  • Mesajlar35
veyahut şu şekilde olabilir

PHP- Kodu:
$id $_GET["id"];

// get id yi sayı olarak farz edelim

if (is_numeric($id)){ // $id değişkeni sayı ise birşey yapma
}
else { 
//değilse Anti SQL Inection yazdır ekrana
echo "Anti SQL Injection";

Hızlı PM Gönder
Gönder
Alıntı ile Cevapla
28.05.2011, 13:39 3 (permalink)
Dietime
Dietime Üye
  • Üyelik Tarihi28.05.2011
  • Ticaret Sayısı0
  • Mesajlar1
Hexlerse?
Hızlı PM Gönder
Gönder
Alıntı ile Cevapla
19.06.2011, 14:27 4 (permalink)
Hakan Damar
  • NeredenYurt Dışı Şubesi
  • Üyelik Tarihi17.06.2011
  • Ticaret Sayısı0
  • Mesajlar387
CogeIgniter framework'ü kullanırsanız bunları o sizin yerinize yapıyor

Framework'lere karşı çok sıcak yaklaşmam ama CI'ı bir incelemenizi öneririm. Gerçekten öğrenilmesi kolay ve kullanımı basittir. Sizi bu tür object veya method'larla uğraşmak yerine işinize yoğunlaşmanızı sağlıyor.
Hızlı PM Gönder
Gönder
Alıntı ile Cevapla
9.10.2011, 16:12 5 (permalink)
aloneman5
aloneman5 Üye
  • Üyelik Tarihi19.11.2010
  • Yaş27
  • Ticaret Sayısı0
  • Mesajlar29
teşekkürler
Hızlı PM Gönder
Gönder
Alıntı ile Cevapla
15.10.2011, 12:57 6 (permalink)
Caesar
Caesar Üye
  • Üyelik Tarihi5.06.2006
  • Ticaret Sayısı0
  • Mesajlar971
Daha kullanışlı hale getirelim;

PHP- Kodu:
function temizle($deger$utf=false) {
    
$deger strip_tags $deger );
    
$deger trim $deger );
    
$deger mysql_escape_string $deger );
    return 
$deger;
}

function 
dizi_temizle($deger) {
    foreach (
$deger as $key => $value) {
        if (!
is_array($deger[$key])) {
            
$deger[$key]=temizle($value);
        } else {
            
$deger[$key]=dizi_temizle($deger[$key]);
        }
    }
    return 
$deger;

Tek değer için;
PHP- Kodu:
$deger=temizle($_POST['deger']); 
Çoklu postlarda:
PHP- Kodu:
$form=dizi_temizle($_POST);
//$_POST ile gelen tüm değerler temizlendi örn: $form[id],$form[deger],$form[deger1] 
Hızlı PM Gönder
Gönder
Alıntı ile Cevapla
22.12.2011, 18:21 7 (permalink)
osman_gndgn
  • Üyelik Tarihi20.12.2011
  • Yaş36
  • Ticaret Sayısı0
  • Mesajlar3
hocam cok tesekkurler cok yararli bir paylasim olmus
Hızlı PM Gönder
Gönder
Alıntı ile Cevapla
2.05.2013, 04:04 8 (permalink)
emekli
emekli Üye
  • Neredenİstanbul Şubesi
  • Üyelik Tarihi22.03.2013
  • Yaş41
  • Ticaret Sayısı0
  • Mesajlar74
ben artık mysql yerine PDO kullanıyorum,
değişkenleri parametre olarak eklediğimiz için çok güvenli oluyor.
Hızlı PM Gönder
Gönder
Alıntı ile Cevapla
19.09.2013, 09:04 9 (permalink)
PhpCode
PhpCode Üye
  • Neredenİstanbul Şubesi
  • Üyelik Tarihi5.07.2013
  • Yaş26
  • Ticaret Sayısı0
  • Mesajlar61
Saldırıları önlemek için yapılacaklar listesi oluştursak buradan çine yol olur. Sizleri paylaştığınız yararlı bilgilerden dolayı tebrik ediyorum .Teşekkürler iyi çalışmalar
Hızlı PM Gönder
Gönder
Alıntı ile Cevapla
20.09.2013, 10:14 10 (permalink)
soulmy
soulmy Üye
  • NeredenSamsun Şubesi
  • Üyelik Tarihi1.12.2010
  • Yaş32
  • Ticaret Sayısı1
  • Mesajlar478
PDO, candır canandır
Hızlı PM Gönder
Gönder
Alıntı ile Cevapla
Yeni Konu Aç Cevap Yaz
Toplam 2 Sayfadan 1. Sayfa
Şu an bu konuyu okuyan kişi sayısı: 1 (0 üye ve 1 misafir)
 
Seçenekler
Yetkileriniz
Konu Acma Yetkiniz Yok Cevap Yazma Yetkiniz Yok Eklenti Yükleme Yetkiniz Yok Mesajınızı Değiştirme Yetkiniz Yok
BB code is Açık Smileler Açık [IMG] Kodları Açık HTML-Kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık
Forum Kuralları
Benzer Konular
Konu Konuyu Başlatan Forum Cevap Son Mesaj
HTML Injection Saldırılarına Önlem Azat Metin PHP Yararlı Bilgiler 8 5.08.2011 10:26
SQL Injection desoLate PHP 15 22.03.2007 03:39
SQL injection ASP Güvenlik tolgahat ASP .NET 5 7.01.2007 19:09
Sql Injection Önleme dejafu ASP .NET 0 3.06.2006 02:55

Forum Saati: 13:08. Zaman dilimi GMT +3 olarak ayarlanmıştır.
Powered by vBulletin™ Version 3.8.7
Copyright © 2018 vBulletin Solutions, Inc. All rights reserved.
bitcoin forum islami sohbet