lostyazilim
tr.link

Mysqli_real_escape_string() sorunu

15 Mesajlar 2.184 Okunma
lstbozum
tr.link

mehmet01 mehmet01 WM Aracı Kullanıcı
  • Üyelik 12.03.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek ...
  • Konum Adana
  • Ad Soyad M** Ç**
  • Mesajlar 665
  • Beğeniler 329 / 328
  • Ticaret 1, (%100)
Merhaba arkadaşlar, abiler, değerli hocalar...
Mysql olan bir siteyi mysqli yapmaya çalışıyorum ama ufak bir hata var.

Normalde Mysql_real_escape_string($_POST["uye_adi"]) şeklinde kullandığım fonksiyonu mysqli'ye geçince kullanamıyorum.

Tabi mysqli'ye geçince "i" harfini koymayı unutmadım. Mysqli_real_escape_string($_POST["uye_adi"]) şeklinde kullandım ama olmadı.

Veritabanı bağlantısında sorun yok. Sadece bir postu çekerken Mysqli_real_escape_string() fonksiyonu sorun çıkarıyor. Bu fonksiyonu kaldırınca sistem düzgün çalışıyor ama bu sefer de saldırıya açık oluyor biraz.

Biraz araştırdım ve mysqli_character_set_name() ile alakalı olabileceğini okudum (emin olmasam da).

Kısaca olayı pek anlayamadım, bilen biri var mı acaba?
 

 

wmaraci
reklam

mehmet01 mehmet01 WM Aracı Kullanıcı
  • Üyelik 12.03.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek ...
  • Konum Adana
  • Ad Soyad M** Ç**
  • Mesajlar 665
  • Beğeniler 329 / 328
  • Ticaret 1, (%100)
Konu güncel arkadaşlar. Yok mu bir bilen?
 

 

TeknoMonster TeknoMonster WM Aracı Kullanıcı
  • Üyelik 07.11.2016
  • Yaş/Cinsiyet 33 / E
  • Meslek Yazılım
  • Konum Trabzon
  • Ad Soyad I** T**
  • Mesajlar 240
  • Beğeniler 42 / 52
  • Ticaret 22, (%100)
Mysqli_escape_string olarak dene eger yine hata alirsan mysqli paketini guncelle veya mysqli ayarlarindan filtre opsiyonlarini ac
mehmet01

kişi bu mesajı beğendi.

mehmet01 mehmet01 WM Aracı Kullanıcı
  • Üyelik 12.03.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek ...
  • Konum Adana
  • Ad Soyad M** Ç**
  • Mesajlar 665
  • Beğeniler 329 / 328
  • Ticaret 1, (%100)
Mysqli_escape_string olarak da denedim olmadı hocam. Sınırlı Linux hosting paketi kullanıyorum. Sanırım paket güncelleme gibi bir yetkim yoktur. Mysqli ayarları nerden yapılıyor onu bulamadım da ben?
 

 

wmaraci
wmaraci

TeknoMonster TeknoMonster WM Aracı Kullanıcı
  • Üyelik 07.11.2016
  • Yaş/Cinsiyet 33 / E
  • Meslek Yazılım
  • Konum Trabzon
  • Ad Soyad I** T**
  • Mesajlar 240
  • Beğeniler 42 / 52
  • Ticaret 22, (%100)
Cpanel kullaniyorsaniz internetde baka bilirsiniz hepsinde olmasada bir kiminde yetki pluyo duzenlemeye. Host saglayicinizlada bu konuyu goruse bilirsiniz
mehmet01

kişi bu mesajı beğendi.

mehmet01 mehmet01 WM Aracı Kullanıcı
  • Üyelik 12.03.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek ...
  • Konum Adana
  • Ad Soyad M** Ç**
  • Mesajlar 665
  • Beğeniler 329 / 328
  • Ticaret 1, (%100)
Anladım hocam teşekkür ederim
 

 

HAYIRSEVER HAYIRSEVER Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 21.05.2018
  • Yaş/Cinsiyet 34 / E
  • Meslek Back-End
  • Konum İzmir
  • Ad Soyad Y** A**
  • Mesajlar 216
  • Beğeniler 46 / 48
  • Ticaret 7, (%86)
Mysqli_real_escape_string($_POST["uye_adi"], $db) olması gerekir.
mehmet01

kişi bu mesajı beğendi.

mehmet01 mehmet01 WM Aracı Kullanıcı
  • Üyelik 12.03.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek ...
  • Konum Adana
  • Ad Soyad M** Ç**
  • Mesajlar 665
  • Beğeniler 329 / 328
  • Ticaret 1, (%100)
Hayırsever hocam malesef o şekilde de olmadı.
Mysqli_real_escape_string($db, $_POST["uye_adi"]) şeklinde başa koyuyordum ben ama o da olmadı. Hosting aldığım yerde yardım istedim, birşeyler yaptılar sonra denememi istediler. Denedim yine olmayınca bu sefer sunucu bilgilerini verdiler burdan değiştirmemizi istediğiiz şeyleri söyleyin değiştirelim dediler.

Ben de TeknoMonster'in dediği gibi mysqli ayarlarindan filtre opsiyonlarini açmalarını istedim. Bakalım ne cevap gelecek
 

 

mehmet01 mehmet01 WM Aracı Kullanıcı
  • Üyelik 12.03.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek ...
  • Konum Adana
  • Ad Soyad M** Ç**
  • Mesajlar 665
  • Beğeniler 329 / 328
  • Ticaret 1, (%100)
Kodlarımı da yaziyim bir bakın yine de...

$host = "localhost";
$user = "user";
$pass = "*****";
$db = "db";

$baglan = mysqli_connect($host, $user, $pass, $db);
if(!$baglan){
echo "BAGLANTI HATASI!";
exit;
}

mysqli_query($baglan, "SET CHARACTER SET 'utf8mb4'");
mysqli_query($baglan, "SET NAMES 'utf8mb4'");

function post($text){
return mysqli_real_escape_string($_POST[$text], $baglan);
}
 

 

mehmet01 mehmet01 WM Aracı Kullanıcı
  • Üyelik 12.03.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek ...
  • Konum Adana
  • Ad Soyad M** Ç**
  • Mesajlar 665
  • Beğeniler 329 / 328
  • Ticaret 1, (%100)

TeknoMonster adlı üyeden alıntı

Cpanel kullaniyorsaniz internetde baka bilirsiniz hepsinde olmasada bir kiminde yetki pluyo duzenlemeye. Host saglayicinizlada bu konuyu goruse bilirsiniz


Hosting sağlayıcımdan (isimtescil) gelen yanıt bu oldu:
Bu özelliği paylaşımlı sunucularda aktif edemiyoruz. İsterseniz VDS alarak kendi yapılandırmanızı yapabilirsiniz.

Kısacası mysqli kullanamicam şimdilik galiba. Mysql'e devam
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al