Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Problema di sicurezza script

    Salve ragazzi...
    Purtroppo ho notato una grave falla su un mio script creato per la lettura dei messaggi...

    Codice PHP:

    <body>
    <?    
    //Apro la sessione e...    
    session_start();    
    //verifico che dopo il login io abbia la chiave di sessione ad 1    
    if($_SESSION['logged']==1){    
    //se si...  
    //verifico se esiste la variabile id
    if(isset($_GET['id']) OR $_GET['id'] != ""){
    $id=$_GET['id'];
    }

      
     
    //mi connetto al datase  
    $link mysql_connect("$db_host""$db_database""$db_username""$db_password") or die("Errore connessione: "mysql_error());  
    //seleziono il database  
    mysql_select_db('my_italiawebchat') or die("Errore apertura database: " mysql_error());  

    $sql="SELECT id,nome_inviante,nome_ricevente,messaggio,date,datamessaggio,oramessaggio,emailinviante FROM messaggi  WHERE id='".$id."' ORDER BY date";
    $query=@mysql_query($sql) or die (mysql_error());

    while (
    $array=mysql_fetch_array($query))
    {
      echo 
    "Messaggio da :".$array['nome_inviante']."</a>

     Ricevuto  "
    .$array['datamessaggio']." alle ore ".$array['oramessaggio']."

      
    <img class=\"barradivisione88\" src=\"pulsantinoinvia.png\">

     "
    .$array['messaggio']." ";
      


    $iddaeliminare=$array['id'];
    echo
    "






    <a target=\"contenuto\" href=\"inviamessaggio.php?destinatario="
    .$array['nome_inviante']."&email=".$array['emailinviante']."\" class=\"nolinea\"\">Rispondi al messaggio</a>

    <form method=\"post\" action=\"eliminamess.php\">  

    <input type=\"hidden\" size=\"1\" name=\"iddaeliminare\" value=\"
    $iddaeliminare\" />


    <input type=\"submit\" value=\"Elimina messaggio\"></form>

    "
    ;}
    il link che compone questa pagina è cosi'
    letturaposta.php?id=4
    e qui sorge la falla...se io modifico nella barra degli indirizzi id=4 con id=5 o id=6 ect...
    leggo i messaggi relativi a quell id anche se non fanno parte della mia posta in arrivo....
    Io dovrei fare in modo di poter leggere solo i messaggi che fanno parte della mia posta in arrivo...quindi se per esempio id=5 e un messaggio ch ela riguarda la posta in arrivo di nicola io non devo poterlo leggere....come faccio a fare questo controllo..?

  2. #2
    una delle possibili soluzioni sarebbe fare una tabella per utente, in questo modo ogni utente potrebbe accedere solo alla sua posta, altrimenti nel caso non fosse possibile potresti in "posta in arrivo" fare un controllo, dove il ricevente (campo A) sia l'utente con cui sei loggato.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.