lostyazilim
tr.link

PHP PDO bilen arkadaşlar bir bakabilirmi

18 Mesajlar 1.809 Okunma
lstbozum
tr.link

ERENKYI ERENKYI WM Aracı Kullanıcı
  • Üyelik 11.07.2017
  • Yaş/Cinsiyet 26 / E
  • Meslek Öğrenci
  • Konum İstanbul Avrupa
  • Ad Soyad E** K**
  • Mesajlar 169
  • Beğeniler 8 / 45
  • Ticaret 1, (%100)
Güvenlik açısından böyle yapmanız daha mantıklı.


$query = "SELECT * from dersler WHERE ders_id = :ders_id";
$query_params = array(':ders_id' => $_GET['dersid']);

try {
$stmt = $db->prepare($query);
$stmt->execute($query_params);
$dersler = $stmt->fetchAll();
}catch(PDOException $ex) {
die($ex->getMessage());
}
?>
 

 

wmaraci
reklam

brkrtp brkrtp Mobile App Developer Kullanıcı
  • Üyelik 24.08.2013
  • Yaş/Cinsiyet 31 / E
  • Meslek Mobile App Developer
  • Konum İstanbul Anadolu
  • Ad Soyad B** K**
  • Mesajlar 964
  • Beğeniler 269 / 251
  • Ticaret 31, (%97)
print_r($dersler); yazıp çıktıyı atarmısınız.
Bir diğeri 8. Satırda hata var ve kodlarınız eksik tam bilgi vermeniz gerek tablonuz nasıl kodlarınız nedir 8. Satır nereye denk geliyor
 

 

TheMucit TheMucit UgurKilci.com Kullanıcı
  • Üyelik 15.02.2017
  • Yaş/Cinsiyet 27 / E
  • Meslek Girişimci ve İçerik Üreticisi
  • Konum Aydın
  • Ad Soyad U** K**
  • Mesajlar 540
  • Beğeniler 109 / 118
  • Ticaret 0, (%0)
Kardeşim şu şekilde olacak. Öncelikle tek veri çekiyorsun bu yüzden fetchAll yazmanın anlamı yok. All ekini kaldır. Ardından, bu fetchi $dersler diye değişkene almışsın. Bu yüzden echo ya böyle yazmalısın.

echo $dersler["ders_id"];

Ayriyeten echo içinde tırnakları unutmuşsun. :)
 

 

Baştan Sona PHP Eğitimi ➡ youtu.be/TQP8jBwnXw4

TheMucit TheMucit UgurKilci.com Kullanıcı
  • Üyelik 15.02.2017
  • Yaş/Cinsiyet 27 / E
  • Meslek Girişimci ve İçerik Üreticisi
  • Konum Aydın
  • Ad Soyad U** K**
  • Mesajlar 540
  • Beğeniler 109 / 118
  • Ticaret 0, (%0)

ERENKYI adlı üyeden alıntı

Güvenlik açısından böyle yapmanız daha mantıklı.


$query = "SELECT * from dersler WHERE ders_id = :ders_id";
$query_params = array(':ders_id' => $_GET['dersid']);

try {
$stmt = $db->prepare($query);
$stmt->execute($query_params);
$dersler = $stmt->fetchAll();
}catch(PDOException $ex) {
die($ex->getMessage());
}
?>

Bu şekilde injection açığı çıkmaz mı? Şunun şöyle yaparsanız daha güvenli olur gibicesine.

$query = "SELECT * from dersler WHERE ders_id=?";
$query_params = array($_GET['dersid']);
 

 

Baştan Sona PHP Eğitimi ➡ youtu.be/TQP8jBwnXw4
wmaraci
wmaraci

ERENKYI ERENKYI WM Aracı Kullanıcı
  • Üyelik 11.07.2017
  • Yaş/Cinsiyet 26 / E
  • Meslek Öğrenci
  • Konum İstanbul Avrupa
  • Ad Soyad E** K**
  • Mesajlar 169
  • Beğeniler 8 / 45
  • Ticaret 1, (%100)
TheMucit niye çıksın? En güvenlisi budur.

Not: Açık illa çıkabilir ama bu tarafımca en güvenli yoldur.
 

 

TheMucit TheMucit UgurKilci.com Kullanıcı
  • Üyelik 15.02.2017
  • Yaş/Cinsiyet 27 / E
  • Meslek Girişimci ve İçerik Üreticisi
  • Konum Aydın
  • Ad Soyad U** K**
  • Mesajlar 540
  • Beğeniler 109 / 118
  • Ticaret 0, (%0)

ERENKYI adlı üyeden alıntı

TheMucit niye çıksın? En güvenlisi budur.

Not: Açık illa çıkabilir ama bu tarafımca en güvenli yoldur.


bu konuda biraz görüş ayrılığına düşüyoruz. ben küçük bir yerin farklı güvenlikte en iyisi olduğunu düşünmekteyim sen ise farklı.

Zevkler ve renkler tartışılmaz. :)
 

 

Baştan Sona PHP Eğitimi ➡ youtu.be/TQP8jBwnXw4

mehmetuken mehmetuken WM Aracı Kullanıcı
  • Üyelik 16.12.2014
  • Yaş/Cinsiyet 28 / E
  • Meslek Software Developer
  • Konum Antalya
  • Ad Soyad M** T**
  • Mesajlar 28
  • Beğeniler 0 / 7
  • Ticaret 5, (%100)
Hocam şimdi olay basit fetchAll yaptığın için bir array olarak dönüyo ama sen arraydan index seçmeden data almaya çalışıyosun ya $dersler[0]['ders_id'] diyeceksin ya da fetchAll yerine tek kolon çekiyosan fetch diyip $dersler['ders_id'] diyeceksin tek satır data alırken.
 

 

mehmetuken mehmetuken WM Aracı Kullanıcı
  • Üyelik 16.12.2014
  • Yaş/Cinsiyet 28 / E
  • Meslek Software Developer
  • Konum Antalya
  • Ad Soyad M** T**
  • Mesajlar 28
  • Beğeniler 0 / 7
  • Ticaret 5, (%100)
Diğer güvenlik meselesi içinde TheMucit ve ERENKYI ikinizde data bind kullanmışsınız ikiside aynı noktaya geliyo pdo veriyi basarken injection için temizler merak etmeyin sorgunu içine elle
"SELECT * from dersler WHERE ders_id=".$_GET['dersid']; yazmadığınız sürece injection yemessiniz. İyi çalışmalar.
 

 

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