-
Ü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?
-
Ü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?
-
Ü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
1 kişi bu mesajı beğendi.
-
Ü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?
-
Ü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
1 kişi bu mesajı beğendi.
-
Ü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
-
Ü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.
1 kişi bu mesajı beğendi.
-
Ü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
-
Ü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);
}