lostyazilim
tr.link

[YARDIM] PHP site.com/a.php?userid=11 / userid güvenlik sorunu

9 Mesajlar 1.257 Okunma
lstbozum
tr.link

compost0x compost0x Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 26.05.2018
  • Yaş/Cinsiyet 30 / E
  • Meslek Öğrenci
  • Konum Muğla
  • Ad Soyad A** Y**
  • Mesajlar 99
  • Beğeniler 23 / 19
  • Ticaret 2, (%50)
Arkadaşlar merhaba,

mevcut geliştirdiğim projede bir sorunum var ;

Bir kullanıcı tablom mevcut, kullanıcı tablomda ise yetki seviyeleri mevcut

id username password yetki
1 abc abc 1
2 zxc zxc 2



Ve birde veri tablom

id userid veriaciklama
11 1 abcdasdwq
12 2 ıuyytorp


bütün sql sorgularım ve fonksiyonlarım yetkilere bağlı çalışmakta.

Bir index sayfam mevcut. İndex sayfamda veriler userid lere göre sorunsuz gelmekte. İndex sayfamdan bir veriye tıkladığımda başka bir php sayfasına atmakta

localhost/a.php?veriid=11

Buradaki 11 değerini 12 yaptıgımda ;

localhost/a.php?veriid=12 sayfasına sorunsuz şekilde giriyor fakat veriler kontrolden dolayı gelmiyor.

Bu açığı kapatmanın bir yolu varmı acaba, örneğin o kullanıcı ile alakası yoksa indexe yönlendirdin otomatik, bunu projenin diğer kısımlarındada kullanmak istiyorum.

Bununla alakalı fikirlerinizi,bilgilerinizi veya okuyup öğrenebileceğim kaynaklarınız beklemekteyim.

Şimdiden teşekkür ederim
Skynlexx

kişi bu mesajı beğendi.

wmaraci
reklam

MehmetMasa MehmetMasa WM Aracı Kullanıcı
  • Üyelik 05.10.2016
  • Yaş/Cinsiyet 26 / E
  • Meslek Yazılımcı
  • Konum İzmir
  • Ad Soyad M** M**
  • Mesajlar 1946
  • Beğeniler 552 / 554
  • Ticaret 40, (%100)
Veri degiskenlerinin basina @ koyun hatalari gizleyecek bos sayfa gosterecektir
compost0x

kişi bu mesajı beğendi.

compost0x compost0x Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 26.05.2018
  • Yaş/Cinsiyet 30 / E
  • Meslek Öğrenci
  • Konum Muğla
  • Ad Soyad A** Y**
  • Mesajlar 99
  • Beğeniler 23 / 19
  • Ticaret 2, (%50)
mehmetmasa teşekkür ederim cevabınız için fakat o sayfaya yönleniyor malesef. O id kullanıcı ile alakalı degilse indexe yönlendirsin istiyorum
 

 

Skynlexx Skynlexx WM Aracı Kullanıcı
  • Üyelik 24.03.2018
  • Yaş/Cinsiyet 30 / E
  • Meslek Bilgisayar Mühendisi
  • Konum Isparta
  • Ad Soyad B** Ş**
  • Mesajlar 57
  • Beğeniler 22 / 9
  • Ticaret 0, (%0)
kodlarını yazarsan daha iyi yardımcı olabiliriz
 

 

İnsan insana insan olduğu kadar insan olmalı..
wmaraci
wmaraci

MehmetMasa MehmetMasa WM Aracı Kullanıcı
  • Üyelik 05.10.2016
  • Yaş/Cinsiyet 26 / E
  • Meslek Yazılımcı
  • Konum İzmir
  • Ad Soyad M** M**
  • Mesajlar 1946
  • Beğeniler 552 / 554
  • Ticaret 40, (%100)
Hocam o sayfa acildiginda sql cumlesi ile yetkiyi sorgulatip verileri cekiyorsunuz eger yetkisi yoksa veriler gelmiyor sql cumlesini if icine alin eger calistiriliyor ise sayfayi gorebilsin ama sql cumlesi false donduyse yonlendirin.
Sql cumleniz : $sorgu = ... where kid=1 and yetki=1
If ($sorgu < 1){
Headerlocation:xx
}
Bundan sonra kodlariniz.
Anladigim kadariyla bu sorununuzu cozer ama kod eklerseniz daha anlasilir olur.
 

 

webterzisi webterzisi WM Aracı Kullanıcı
  • Üyelik 12.09.2018
  • Yaş/Cinsiyet 39 / E
  • Meslek Webmaster
  • Konum Denizli
  • Ad Soyad B** E**
  • Mesajlar 2
  • Beğeniler 0 / 0
  • Ticaret 0, (%0)
Yetki columunu login de sessiona atayıp eğer yetkisi varsa şurayı göster yoksa yönlendir yapabilirsiniz.
if($_SESSION["yetki"] ==2) {gösterilecek alan} else{yönlendirelecek yer}
 

 

NotBil NotBil WM Aracı Kullanıcı
  • Üyelik 25.06.2018
  • Yaş/Cinsiyet 30 / E
  • Meslek Bilişim
  • Konum Burdur
  • Ad Soyad H** Y**
  • Mesajlar 117
  • Beğeniler 1 / 40
  • Ticaret 0, (%0)
Yanlış anlamadıysam bu kod betiği senin işini görür.


// YÖNLENDİRME FONKSİYONU //
function notbilgo($url,$zaman = 0){
if($zaman != 0){
header("Refresh: $zaman; url=$url");
}
else header("Location: $url");
}
// YÖNLENDİRME FONKSİYONU BİT //

$userid=$_SESSION['userid'];
$veriid=$_GET['id'];
$verisor=mysql_query("SELECT *FROM veri WHERE id='$veriid'");
// EĞER HER USERE BİR VERİ VARSA
$veridiz=mysql_fetch_array($verisor);
if($userid==$veridiz['userid']){
echo $veridiz['veriaciklama'];
}else{
notbilgo("yetki-yok.php");
}
// EĞER BİRDE FAZLA VERİ VARSA
while($veridongu=mysql_fetch_array($verisor)){
if($userid==$veridongu['userid']){
echo $veridongu['veriaciklama'];
}else{
notbilgo("yetki-yok.php");
}
}

?>
compost0x

kişi bu mesajı beğendi.

compost0x compost0x Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 26.05.2018
  • Yaş/Cinsiyet 30 / E
  • Meslek Öğrenci
  • Konum Muğla
  • Ad Soyad A** Y**
  • Mesajlar 99
  • Beğeniler 23 / 19
  • Ticaret 2, (%50)
NotBil hocam hallettim çok zaman geçmiş teşekkür ederim yinede
 

 

nGinY nGinY PHP - C# Help Kit =) Kullanıcı
  • Üyelik 07.06.2014
  • Yaş/Cinsiyet 26 / E
  • Meslek Öğrenci
  • Konum Eskişehir
  • Ad Soyad E** Y**
  • Mesajlar 80
  • Beğeniler 7 / 17
  • Ticaret 3, (%100)
Session tuttuğun kullanıcının id sini çek, getten gelen idyide cek
Varsayalım
If($girisyapan != $gettengelen)
{
//yönlendir
} elde
{
//Sayfayı getir
}
 

 

-----
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