Mrtcn
PrismaCSI
Kullanıcı
-
Üyelik
06.09.2013
-
Yaş/Cinsiyet
32 / E
-
Meslek
Cyber Sec & Project Manager
-
Konum
Ankara
-
Ad Soyad
M** G**
-
Mesajlar
3356
-
Beğeniler
481 / 1987
-
Ticaret
10, (%100)
Merhaba arkadaşlar bir proje üzerinde çalışıyorumda.Benzer olanın değerini getiremiyorum bir türlü değer dönmüyor.kodum aşağıdaki şekilde nerede hata yapıyorum acaba gözümden ne kaçıyo olabilir
if (isset($_POST['url']) && !empty($_POST['url']) && preg_match_all('/(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/', $_POST['url'])) {
$new_url = mysqli_real_escape_string($connect, urlencode($_POST['url']));
$command = "SELECT * FROM urls WHERE url_link = '$new_url';";
$control_database = mysqli_query($connect, $command);
if ($control_database == FALSE) {
return FALSE;
}
if (mysqli_num_rows($control_database) > 0) {
$row = mysqli_fetch_assoc($control_database);
return json_encode(array("url" => $row = ["url_short"]));
}
}
-
Üyelik
30.01.2015
-
Yaş/Cinsiyet
29 / E
-
Meslek
Öğrenci
-
Konum
Antalya
-
Ad Soyad
Ö** S**
-
Mesajlar
128
-
Beğeniler
27 / 42
-
Ticaret
18, (%100)
1- "urls" tablosundaki "url_link" sütunundaki değerler mysqli_real_escape_string() ve urlencode() fonksiyonlarından geçirilerek mi kaydediliyor?
2- 10. satırdaki kodun aşağıdaki şekilde olması gerek.
return json_encode(array("url" => $row["url_short"]));
Gözüme çarpan bu 2 madde var.
Mrtcn
PrismaCSI
Kullanıcı
-
Üyelik
06.09.2013
-
Yaş/Cinsiyet
32 / E
-
Meslek
Cyber Sec & Project Manager
-
Konum
Ankara
-
Ad Soyad
M** G**
-
Mesajlar
3356
-
Beğeniler
481 / 1987
-
Ticaret
10, (%100)
6 saat üzerinde çalıştığım bir proje olduğu için gözümden kaçtığından ara verip baktığımda sorunu çözdüm ilginç hatalar yapmışım sadece onun dışında teşekkür ederim.Ayrıca veri kayıt edilirken öncelikle escape ediliyor daha sonra urlencode edilip kayıt ediliyor filtrelemede yapıyoruz haliyle yoksa XSS saldırıları alabiliyor sistem :)