ana sayfa > Php, Php de Güvenlik > php Warning: mysql_real_escape_string hatası

php Warning: mysql_real_escape_string hatası


merhabalar… yeni yapmaya çalıştığım oturum kontrol sistemim localde gayet güzel çalışırken sunucuma attığımda hata vermişti.

Komut:
$kullaniciadi = strip_tags(mysql_real_escape_string($_POST['kullaniciadi']));

Hata mesajı da:
Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user ‘nobody’@'localhost’ (using password: NO) in /home/site/public_html/yonetim.php on line 56

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /home/site/public_html/yonetim.php on line 56

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user ‘nobody’@'localhost’ (using password: NO) in /home/site/public_html/yonetim.php on line 57

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /home/site/public_html/yonetim.php on line 57

Çözüm :
mysql_real_escape_string() komutunu mysql bağlantısı yapmadan kullanmaya çalışmışım. mysql bağlantı komutlarımı bu satırların öncesine çekince bir sorun kalmadı.

mysql_real_escape_string() nedir?

Bizi sql saldırılarından korumaya yarayan bir komuttur. Örneğin kullanıcı adı şifre sorgulayacağımız yerde aşağıdaki gibi bir sorgu kullanırız:

select * from oturum where kullaniciadi=’$kullaniciadi’ and sifre=’$sifre’

Şimdi adamın biri gelip kullancı adı ve şifreye rastgele bişiler yazdıktan sonra
or ’1=1′ yazarsa ne olur ? bakalım:

select * from oturum where kullaniciadi=’$kullaniciadi’ and sifre=’$sifre’ or ’1=1′

Sonuç 1 – 1 eşit olduğuna göre kullanıcı adı ve şifreyi bilmeye gerek kalmadan şifre atlanmış olur.




Related posts

coded by nessus
Share


Categories: Php, Php de Güvenlik Tags:
Bu kategorideki rastgele diğer yazılar
  • » PHP tek mi çift mi?
  • » Kira Hesaplama
  • » Dreamweaver ile Php Site Tanımlama
  • » Php Özel Sayfa
  • » Kiralama kodu
  • » Php Çoklu Resim Boyutlandırma
  • » Php Haber Scripti 2
  • » PHP GET Temizleme Fonksiyonu
  • » php Dizin Listeleme
  • » Php Flood Güvenliği
  • » Php Basit Hesap Makinesi..
  • » Php Testi (appserv)
  • » PHP ve MySQL kullanarak veri kaydı
  • » Php ile Oturum Yönetimi
  • » Php Rastgele Resim Gösterme



    1. Mehmet
      Pazartesi, 12 Ara 2011 zamanında 17:18 | #1

      Merhaba.
      Bir web sayfamda üstteki gibi bir problem mevcut. Yalnız php bilgim yok dolayısıyla çözümü yapamadım.

      Yardımcı olurmusunuz?
      mysql_real_escape_string() bu kod nerede geçer, nasıl yapabiliriz?
      Şimdiden çok teşekkürler.

    2. Pazartesi, 12 Ara 2011 zamanında 23:54 | #2

      @Mehmet
      aslında sorunuzun içinde cevap gizli… mysql_real_escape_string komutunun ctrl-f ile arattırıp bulacaksınız…. ancak o satırı silmek; hacklenmek gibi başka problemlere sebep olabilir…. o yüzden ilk önce veritabanına bağlantı gerçekleş mi? diye kontrol etmelisiniz… bence sorununuzun cevabı bağlantı hatasında yatıyor…
      Allaha emanet

    3. Mehmet
      Salı, 13 Ara 2011 zamanında 17:56 | #3

      Cevap için teşekkürler.
      Yalnız o komuttan dolayı kaynaklanmıyormuş. Bütün dosyaları tek tek açarak kontrol ettim hiç birinde geçmiyor.

      Database bilgileri doğru ki zaten doğru olmasa kurulumu geçemezdim. Config dosyalarındada ayarlar doğru hala problemi anlamış değilim.

      Server ile ilgili bir düzenleme vb. şeylerden dolayı olabilir mi? Linux sunucum var.

    4. Salı, 13 Ara 2011 zamanında 23:21 | #4

      @Mehmet
      mysql bağlantı komutu mysql_real_escape_string komutundan önce kullanılmalıdır…
      sırasına dikkat edin… şimdilik diyebileceklerim bunlar…
      iyi günler

    5. Mehmet
      Çarşamba, 14 Ara 2011 zamanında 12:55 | #5

      Çözemedim ama neyse yinede ilgilendiğiniz için teşekkür ederim.

    1. şimdilik geri bağlantı yok

    *
    Bu bir spamlara karşı koruma yazılımıdır, resimde gösterilen güvenlik kelimesi girilmelidir. Kelimeyi sesli duymak için resmi tıklayın
    Anti-spam kelimeyi duymak için tıklayın