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.




Benzer Konularımıza da Göz Atın!

coded by nessus
Share


Categories: Php, Php de Güvenlik Tags:
Bu kategorideki rastgele diğer yazılar
  • » Php kursumuz sona erdi...
  • » Php İle Kullanılan Tüm Fonksiyonlar { Açıklamalı }
  • » PHP5 Email Doğrulama
  • » Php'de Güvenlik
  • » PHP Hakkımızda Sayfa Yapımı
  • » Php Mail Gönderme
  • » Php post methodu
  • » Mysql Veri Türleri ve Anlamları
  • » Php ile verileri gösterme
  • » PHP tek mi çift mi?
  • » Kira Hesaplama
  • » PHP Haber Scripti
  • » Php Özel Sayfa
  • » Dreamweaver ile Php Site Tanımlama
  • » Mysql Komutları - Fonksiyonları



    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.

    6. barış
      Çarşamba, 11 Nis 2012 zamanında 18:03 | #6

      Gerçekten işime yaradı bilgi 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