Türkiye'nin En Eski Webmaster Forumu İyinet'e Hoşgeldiniz!

Hata Nerde?

...::LorD::...

0
Onaylı Üye
Üye
Katılım
27 Aralık 2007
Mesajlar
2,109
Açılan Konu
124
Tepki puanı
2
Konum
cHeteM
merhaba arkadaşlar kodlamam gereken bir sayfa var ilgili kodlar aşağıda ama bir hata yaptım listeleme yapmıyor acaba hata nedir?

yardım ederseniz sevinirim

teşekkürler


PHP:
<?php
$sorgu = mysql_query("SELECT * FROM odemeler WHERE durum='onaylanmadi' ORDER BY id DESC");
while ($cek = mysql_fetch_array($sorgu)) {
$id = $cek[id];
$odemeyapanid = $cek[odemeyapanid ];
$odemeyapilanis = $cek[odemeyapilanis];
$sorgu1 = mysql_query("SELECT * FROM uyeler WHERE id='$odemeyapanid' ORDER BY id DESC");
while ($cek1 = mysql_fetch_array($sorgu1)) {
$sorgu2 = mysql_query("SELECT * FROM siparis WHERE id='$odemeyapilanis' ORDER BY id DESC");
while ($cek2 = mysql_fetch_array($sorgu2)) {
$no = $no+1;
echo "<div align='center'>
		<table border='0' id='table3' style='border-width:0px; ' width='700'>
			<tr>
				<td style='border-style: none; border-width: medium; ' width='45' align='center'>
				<font face='Tahoma' style='font-size: 9pt; font-weight: 700' color='#E30000'>
				$no</font></td>
				<td style='border-style: none; border-width: medium; ' width='150' align='left'>
				<font face='Tahoma' style='font-size: 9pt; font-weight: 700' color='#E30000'>
				<a class=\"thumbnail\" href=\"#\"><font face='Tahoma' style='font-size: 9pt; font-weight: 700' color='#e30000'>$cek1[ad_soyad]</font><span>$cek[adsoyad]</span></a></font></td>
				<td style='border-style: none; border-width: medium; ' width='200' align='left'>
				<font face='Tahoma' style='font-size: 9pt; font-weight: 700' color='#E30000'>
				ID : $cek2[id] $cek2[is_turu] Tasarımı</font></td>
				<td style='border-style: none; border-width: medium; ' width='80' align='left'>
				<font face='Tahoma' style='font-size: 9pt; font-weight: 700' color='#E30000'>
				$cek[tarih]</font></td>
				<td style='border-style: none; border-width: medium; ' width='120' align='left'>
				<font face='Tahoma' style='font-size: 9pt; font-weight: 700' color='#E30000'>
				<a class=\"thumbnail\" href=\"#\"><font face='Tahoma' style='font-size: 9pt; font-weight: 700' color='#e30000'>$cek[tutar]</font><span>Hesap No: $cek[hesapno]</br></br>Açıklama: $cek[aciklama]</span></a></font></td>
				<td style='border-style: none; border-width: medium; ' align='center' width='150'>
<a href='odeme_sil.php?id=$cek[id]'><font face='Tahoma' style='font-size: 9pt; font-weight: 700' color='#E30000'>Sil</font></a>  -  <a href='odeme_onayla.php?id=$cek[id]'><font face='Tahoma' style='font-size: 9pt; font-weight: 700' color='#E30000'>Onayla</font></a></td>
			</tr>
			</table>
	</div>";
}
}
}


?>
 

muratmoon

0
Onaylı Üye
Üye
Katılım
5 Eylül 2008
Mesajlar
194
Açılan Konu
11
Tepki puanı
0
Buradaki herkesin yapacağı şeyi yapıp tepki vereceğini biliyorum ama ne yazıkki yinede söylemeden edemeyeceğim.

Bu yukarıdaki kodu sen yazdıysan ve bu kodla bir script oluşturmayı düşünüyorsan vazgeç.

Yukarıda verdiğin kodun her satırında en az 2 güvenlik açığı, en azda 3 tane optimizasyon problemi var.

Kodlama standartları ile ilgili ve phpde güvenlik ve optimizasyon hakkında biraz daha döküman okuman gerekli.

Bunları ister iyi niyetli bir tavsiye olarak kabul edip kendini geliştirebilirsin, yada bana sataşırsın ama cevap alamazsın. Bundan sonrası senin bileceğim bişey.
 

yagmayok

1
Onaylı Üye
Üye
Katılım
25 Ocak 2005
Mesajlar
7,131
Açılan Konu
304
Tepki puanı
86
@muratmoon acaba söylediğiniz 2 güvenlik açığını da yazabilirsiniz. Veya bu konuda ne gibi bir araştırma yapabiliriz. Biraz daha açıklayıcı bilgi verirseniz memnun olurum.
 

muratmoon

0
Onaylı Üye
Üye
Katılım
5 Eylül 2008
Mesajlar
194
Açılan Konu
11
Tepki puanı
0
1. dışardan gelen veriyi kontrol etmeden veritabanı sorgusu içinde kullanmak.
2. veritabanından gelen veriyi encode etmeden html içinde kullanmak.
 

muratmoon

0
Onaylı Üye
Üye
Katılım
5 Eylül 2008
Mesajlar
194
Açılan Konu
11
Tepki puanı
0
Biz tüm veriyi kendimiz giriyoruz kesinlikle dışardan veri almıyoruz, veriyi de ona göre giriyoruz diyorsanız ilk madde belki bi ihtimal kullanım dışı olabilir ama uygun programcılık böyle değildir.
 

ploop

0
Onaylı Üye
Üye
Katılım
11 Ekim 2004
Mesajlar
6,964
Açılan Konu
214
Tepki puanı
0
Konum
karavan
Dısarıdan gelen veri nerede burada?
 

muratmoon

0
Onaylı Üye
Üye
Katılım
5 Eylül 2008
Mesajlar
194
Açılan Konu
11
Tepki puanı
0
bi önceki mesajımı okursan açıkladım. veritabanına veri dışardan gelecektir.

örneğin aşağıdaki iki alan;

$odemeyapanid = $cek[odemeyapanid ];
$odemeyapilanis = $cek[odemeyapilanis];
 

ploop

0
Onaylı Üye
Üye
Katılım
11 Ekim 2004
Mesajlar
6,964
Açılan Konu
214
Tepki puanı
0
Konum
karavan
bi önceki mesajımı okursan açıkladım. veritabanına veri dışardan gelecektir.

örneğin aşağıdaki iki alan;

$odemeyapanid = $cek[odemeyapanid ];
$odemeyapilanis = $cek[odemeyapilanis];
O mesaj yoktu ben mesaj yazarken pardon :)
 

muratmoon

0
Onaylı Üye
Üye
Katılım
5 Eylül 2008
Mesajlar
194
Açılan Konu
11
Tepki puanı
0
optimizasyona girersek zaten 10 - 20 tane çıkartırım.

ama en kötüsü * ile sorgu almak, * ile sorgu sadece dur bakim şu tabloda ne var ne yok diye geliştirme yaparken alınmalı. yazdığınız bir script içinde * olması hiçbir şartta normal değildir. tüm kolonları çekiyor bile olsanız.

ayrıca çok incelemedim ama bu 3 sorguyu birleştirip tek sorguda aynı verinin çekilebileceğine de eminim.
 

...::LorD::...

0
Onaylı Üye
Üye
Katılım
27 Aralık 2007
Mesajlar
2,109
Açılan Konu
124
Tepki puanı
2
Konum
cHeteM
dışarıdan veri gelmiyor bulunduğu sayfada başka yerlerde kullanıldığı için o şekilde ayrıca bu kişilere açık bir script değil yönetim panelinde bir sayfanın bir kısmı. 3 sorguyla ilk olarak veri çektim listelendi ama sonrasında veriler listelenmedi hata nerde onu arıyorum bu doğrultuda yardım ederseniz sevinirim
 

Angelo

0
Onaylı Üye
Üye
Katılım
13 Aralık 2004
Mesajlar
9,603
Açılan Konu
164
Tepki puanı
106
Konum
AZ
Ne yapmaya çalıştığını yazarsan daha iyi olur. Iki while() iç içe, her bir kullanıcı döngüsünde tekrar sipariş döngüsü neden içinde.
 

...::LorD::...

0
Onaylı Üye
Üye
Katılım
27 Aralık 2007
Mesajlar
2,109
Açılan Konu
124
Tepki puanı
2
Konum
cHeteM
merhabalar sorun giderildi yanlış yaptığım şey whileları silmemişim sorguyu kopyala yapınca + tablo içindeki verileri uyuşmadığı için ilgi gösteren herkese teşekkürler konu kilitlenebilir veya silinebilir
 
Üst