Açığı Kapatamıyorum

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    TheMayk
    TheMayk's avatar
    Kayıt Tarihi: 18/Mart/2013
    Erkek

    Yaptığım bir sistemde twitter üzerinden giriş yapılıyor ve site içinde mesajlaşma sistemi yaptım, bir yandan yaparken bir yandan da zafiyet var mı açık var mı diye bakıyorum, bugün farkına vardım ki iki farklı browserda ayrı ayrı kullanıcı açınca, id değiştirdiğim takdirde gönderilen,alınan mesajlar gözüküyor, çözümünü bulamadım henüz nasıl yapacağımı, giriş yapılmadan özel alanların hiçbiri açılmıyor fakat dediğim gibi iki kullanıcı giriş yapınca gözüküyor, aşağıda kodları paylaştım, aslına kodun çalıştığı yerde gelen id ile session id sini karşılaştırıp basmayı denedim ama çalışmadı.

    <!-- Received Pm--> 
    <div id="main">             
    <div id="content">     
    <div class="content-box"> 
    <div class="box-t">&nbsp;</div> 
    <div class="box-c">     
    <div class="box-holder">             
    <div id="padingtop"></div>             
    <div class="post-26 coupon type-coupon status-publish hentry item"> 
    <div class="item-holder"> 
    <div class="item-frame"> 
    <?php 
    session_start
    (); 
    require(
    "baglan.php"); 

    $id=$_GET['id']; 




    $degisken $_SESSION['id']; 
      
    if(!empty(
    $degisken)) 





    echo 
    "<table cellspacing=\"1\" class=\"uzerinde\" id=\"golKrallari\" width=\"59%\" summary=\"PM\">";  
    echo 
    "<thead>"
    echo 
    "    <tr>\n";  
    echo 
    "        <th scope=\"col\" abbr=\"adsoyad\" width=\"25\"><b>Sıra No</b></th>\n";  
    echo 
    "        <th scope=\"col\" abbr=\"adsoyad\" width=\"190\"><b>Teklif Veren Kişi</b></th>\n";  
    echo 
    "        <th scope=\"col\" abbr=\"adsoyad\"width=\"115\"><b>Tarih / Saat</b></th>\n";  
    echo 
    "        <th scope=\"col\" abbr=\"adsoyad\"  colspan=\"2\" >";  
    echo 
    "        <p align=\"center\"><b>İslemler</b></th>\n";  
    echo 
    "    </tr>\n";  
    echo 
    "    </thead>";  
    $sor mysql_query("select * from ozelmesaj where alanid='$id' order by pmno desc limit 20"); 
    $satir 1
    while (
    $pmal mysql_fetch_array($sor)) { 
    $veren=$pmal['teklifveren']; 
    $zaman=$pmal['zaman']; 
    $idno=$pmal['idsi']; 
    $pmno=$pmal['pmno']; 
    $okundu=$pmal['okundu']; 




    echo 
    "<tbody>"
    echo 
    "    <tr>\n";  
    echo 
    "        <th scope=\"row\" abbr=\"03-04\" class=\"baslikBir\" width=\"25\">$satir</th>";  
    echo 
    "        <th scope=\"row\" abbr=\"03-04\" class=\"baslikBir\"><a href=\"index.php?icerik=profil&id=$idno\">$veren</a></th>\n";  
    echo 
    "        <td class=\"tabloZRFark\">$zaman</td>\n";  
    echo 
    "        <td class=\"tabloZRFark\">";  
    echo 
    "        <p align=\"center\"><a href=\"index.php?icerik=readpm&id=$pmno\">";  
      

    if(
    $okundu >0)  

    echo 
    "Okunmadı"

    else  

    echo 
    "Okundu"



      
      
      
    echo
    "</a></td>"
    echo 
    "        <td class=\"tabloZRFark\">";  
    echo 
    "        <p align=\"center\"><a href=\"index.php?icerik=delete&id=$pmno\">Sil</a></td>\n";  
    echo 
    "    </tr>\n";  
    echo 
    "</tbody>"
    $satir++; 

    echo 
    "</table>\n";  
    echo 
    "\n"



    else 

        echo 
    " <center><a class=\"fancybox fancybox.iframe\" href=\"login/index.php\"><img src=\"images/Login.png\" width=\"101\" height=\"100\"></a></center>"


    ?> 
    <div class="clear"></div> 
    </div>  
    <div class="item-footer-bottom"></div> 
    </div> 
    </div> 
    </div> 
    <div class="top"><a href="#">Top &uarr;</a></div> 
    </div> 
    <div class="box-b">&nbsp;</div> 
    </div> 
    </div> 
    <!-- Received Pm-->


    şu şekilde denedim yine çalışmadı acaba bu şekilde çalışmama sebebi nedir.


    PHP- Kodu:

    session_start
    (); 
    require(
    "baglan.php"); 

    $id=$_GET['id']; 




    $degisken $_SESSION['id']; 
      
    if(
    $degisken==$id
    {  

    Sperm Gibi Adamlar Var İnsan Olma İhtimalleri Milyonda Bir
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SerYolcu
    SerYolcu's avatar
    Kayıt Tarihi: 14/Ocak/2010
    Erkek

    id yi nereden alıyorsun ?

    ilk önce twittersiz olarak benim çözümümü söyleyeyim..

    bir kullanıcılar tablon olsun.

    bunun içinde

    kullanıcı adı - şifre - id

    alanları olsun.

    normal loginde girilen kullanıcı adı ile şifre tablodakiler ile eşit ise login oluyorsun,

    login olduğu zaman tablodan kullanıcı id yi de al...

    bu id yi sessiyon a at.

    yani id = $_GET (id) kullanma...

     

     


    Ondan çocuk olmamıştır (Kimsenin babası değildir). Kendisi de doğmamıştır (kimsenin çocuğu değildir). İhlas Suresi 3 üncü ayette bunlar yazar.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hybris
    Hybris's avatar
    Kayıt Tarihi: 12/Haziran/2007
    Erkek

    her gelen id yi değişkene atarsan ohoo


    agile isn’t how fast you can go, it’s how fast you can turn.
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    WebJas
    WebJas's avatar
    Kayıt Tarihi: 15/Eylül/2009
    Erkek

    değişkenle id birbirine eşit olamaz ki bu döngüde

    alttaki kodun çalışmama sebebi bu olabilir tahminimce

    ilk kod için ise her kullanıcı aktif olduğunda değişkeni 1 arttırmak veya 1 azaltmak mesajların çekilmesine çözüm olabilir.

    anladığım kadarıyla bu kadar oluyor hocam. umarım yardımım dokunmuştur.

    if($degisken==$id)

     

     


    bilmediklerimi ayaklarımın altına alsam başım göğe ererdi..
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    TheMayk
    TheMayk's avatar
    Kayıt Tarihi: 18/Mart/2013
    Erkek

    Normal sistemle giriş olsa yani kullanıcı adı giriş o sistemde sıkıntı yok, ama yaptığım projede sadece twitter üzerinden giriş yapılması gerekiyor, yani problemi tam olarak anlatamadığım düşünüyorum, id yi veritabanında giriş yapıldığında profil kısmından alarak apm&id=875607949 şeklinde gelen mesajlarda get ile alıyorum.

    şimdi ben chrome da giriş yaptım gelen mesajları açtım,, tabii burda gelen mesajlarda id ye göre getiriyorum veritabanından, örnek id 875607949  sonra başka browserde mesela internet explorerda başka kullanıcı ile oturum açıyorum ve yine gelen mesajları açıyorum onun idsi de 562542154 olsun, 875607949 yerine diğer browserdaki 562542154 yı yazınca ilk açtığım kullanıcıya ait gelen mesajlar,giden mesajlar gözüküyor, ama bir üçüncü farklı browserda giriş yapılmadan deneyince sorun yok, login ekranı geliyor.

     

    TheMayk tarafından 12/Nis/13 16:56 tarihinde düzenlenmiştir

    Sperm Gibi Adamlar Var İnsan Olma İhtimalleri Milyonda Bir
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    sniperscope
    sniperscope's avatar
    Banlanmış Üye
    Kayıt Tarihi: 14/Mart/2009
    Erkek

    $_session['id'] degiskeni nereden geliyor?

     

    $sor mysql_query("select * from ozelmesaj where alanid='$id' order by pmno desc limit 20"); 
    $satir 1;

     

    yerine


    $sor mysql_query("select * from ozelmesaj where alanid='$_SESSION['id']' order by pmno desc limit 20"); 
    $satir 1;

    yap.

    sniperscope tarafından 12/Nis/13 17:15 tarihinde düzenlenmiştir

    "Yer yuzunde hic bir pislik yoktur ki; altindan bir yahudi cikmasin" Adolf Hitler... "Turkiye de hicbir pislik yokturki altindan cemaat cikmasin" SniperScope "Nerede yavşak, hırsız varsa hepsi Allahçı" Fazil Say
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    TheMayk
    TheMayk's avatar
    Kayıt Tarihi: 18/Mart/2013
    Erkek
    sniperscope bunu yazdı

    $_session['id'] degiskeni nereden geliyor?

     

    $sor mysql_query("select * from ozelmesaj where alanid='$id' order by pmno desc limit 20"); 
    $satir 1;

     

    yerine


    $sor mysql_query("select * from ozelmesaj where alanid='$_SESSION['id']' order by pmno desc limit 20"); 
    $satir 1;

    yap.

     

     

     

    Teşekkürler, sanırım sizin dediğiniz gibi yaptım, problem çözüldü sanırım, diğer mesajlaşmayla ilgili sayfalarada uygulayınca tekrar buradan durumu yazacağım, ben şu şekilde yaptım, ve ayrıca get ile id almayıda iptal etmiş oldum.

     

     

     

    <?php

     

    session_start();

     

    ob_start();

     

    require("baglan.php");

     

    $sorgu = mysql_query("SELECT * FROM users WHERE nickurl='{$_SESSION['nickurl']}'"); 

     

    $al=mysql_fetch_array($sorgu);

     

    $yazanpm=$al['oauth_uid'];

     

    if(!empty($yazanpm))

     

    {

     

     

    $sor = mysql_query("select * from ozelmesaj where alanid='$yazanpm' order by pmno desc limit 20");

     

    $satir = 1;

     

     

     

     

    TheMayk tarafından 12/Nis/13 18:04 tarihinde düzenlenmiştir

    Sperm Gibi Adamlar Var İnsan Olma İhtimalleri Milyonda Bir
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    sniperscope
    sniperscope's avatar
    Banlanmış Üye
    Kayıt Tarihi: 14/Mart/2009
    Erkek

    Sorunun cozulmesine sevindim fakat nerede hata yaptigini gorebildinmi?


    "Yer yuzunde hic bir pislik yoktur ki; altindan bir yahudi cikmasin" Adolf Hitler... "Turkiye de hicbir pislik yokturki altindan cemaat cikmasin" SniperScope "Nerede yavşak, hırsız varsa hepsi Allahçı" Fazil Say
Toplam Hit: 889 Toplam Mesaj: 8