Visualizzazione dei risultati da 1 a 9 su 9

Discussione: problema sessioni

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    13

    problema sessioni

    Il mio sito continua a essere bucato. Il mio MNT dice che la colpa è legata al mio codice php (senza guardarlo). Ho provato più volte a controllarlo ma non capisco cosa c'è che non va.. a me sembra tutto ok..
    Se qualcuno vuole, posto il mio codice qui sotto..

    Ho preso liberamente spunto (copiato) da questa pagina: http://www.siforge.org/articles/2003...sioni_php.html

    Qualcuno mi puo' dire se c'è qualche buco? o se è più presumibile che la colpa sia dei gestori dell'host?

    ---------------------------------------------------------
    PAGINA INDEX: CREAZIONE SESSIONE E LOGIN

    codice:
    <?php 
      $redirect="index.php"; 
      
      include_once("../parametri.php"); //contiene i parametri per la connessione al db
      include_once("../connessione.php"); // connessione al db
      
      //gestione della sessione nel caso in cui i cookie sono disabilitati 
      if(IsSet($_POST['PHPSESSID']) && !IsSet($_COOKIE['PHPSESSID'])) 
      { 
        $PHPSESSID=$_POST['PHPSESSID']; 
        header("Location: $redirect?PHPSESSID=$PHPSESSID"); //si ricarica la pagina di login 
      } 
    
      session_start(); //si inizia o continua la sessione 
    
      //controllo user e passwd da login 
      if(IsSet($_POST['posted_username']) && IsSet($_POST['posted_password'])) 
      { 
      	$md5passw = md5($_POST['posted_password']);
      	$user = $_POST['posted_username'];
      	$query = "select * from utenti where nick='$user' and pass='$md5passw'";
    		if (!mysql_query($query, $conn)) echo ("Il webmaster è un pirla perchè ha sbagliato a scrivere la query.");
    		$risultato = mysql_query($query, $conn);
    		if (mysql_num_rows($risultato) > 0)
          $_SESSION['utente']=$_POST['posted_username']; 
      } 
    
      //creazione cookie per login automatico 
      if(IsSet($_POST['ricorda']) && IsSet($_SESSION['utente'])) 
      { 
        $cok=md5($_POST['posted_password']).";;".$_POST['posted_username']; 
        setcookie("save_user","$cok",time()+31536000); 
      } 
        
      //logout 
      if($_GET['logout']==1) 
      { 
        $_SESSION=array(); // Desetta tutte le variabili di sessione. 
        session_destroy(); //DISTRUGGE la sessione. 
        if(IsSet($_COOKIE['save_user'])) //se presente si distrugge il cookie di login automatico 
          setcookie("save_user","",time()-31536000); 
        header("Location: $redirect"); //si ricarica la pagina di login 
        exit; //si termina lo script in modo da ritornare alla schermata di login 
      } 
    
      //controllo user e passwd da cookie 
      if(IsSet($_COOKIE['save_user'])) 
      { 
        $info_cok=$_COOKIE['save_user'];
        $cok_pass=strtok($info_cok,";;"); 
        $cok_user=strtok(";;"); 
        setcookie("save_user","$info_cok",time()+31536000); 
        
        $query = "select * from utenti where nick='$cok_user' and pass='$cok_pass'";
    		if (!mysql_query($query, $conn)) echo ("Il webmaster è un pirla perchè ha sbagliato a scrivere la query.");
    		$risultato = mysql_query($query, $conn);
    		if (mysql_num_rows($risultato) > 0)
          $_SESSION['utente']=$cok_user;  
      } 
    
      //caso in cui si vuole ricordare il login, ma i cookie sono off 
      if(!IsSet($_COOKIE['PHPSESSID']) && IsSet($_POST['ricorda'])) 
        header("Location: $redirect?nocookie=1"); 
    ?> 
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>...</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link href="style.css" rel="stylesheet" type="text/css">
    </head>
    
    <body class="pagina">
    <table width="780" border="0" align="center" cellpadding="0" cellspacing="0">
      <tr>
        <td><div align="center">[img]titolo.gif[/img]
    
          
    
        </div></td>
      </tr>
      <tr>
        <td>
    <?php 
    
      $PHPSESSID=session_id(); 
    
      if(!IsSet($_SESSION['utente'])) //non siamo loggati, pagina di login 
      { 
        if($_GET['nocookie']==1) //i cookie sono off e si vuole ricordare il login 
          print("<div align=center>Spiacente, ma con i cookie disabilitati non posso fare i miracoli ;)
     
                 Attivali se vuoi ricordare il tuo login.</div>
    
    "); 
        if (IsSet($_POST['SUBMIT']))
          print("<div align=center><font color=red>Nome utente e/o password non corretti.</font></div>
    
    ");
    
        print("
    <form action=" . $redirect . " method=post>
      <table border=0 align=center cellpadding=0 cellspacing=0>
        <tr> 
          <td><div align=center>Inserire nome utente e password.
    
              
    
            </div></td>
        </tr>
        <tr> 
          <td><table width=100% border=0 cellspacing=1 cellpadding=1>
              <tr>
                <td>Nome utente:</td>
                <td><input name=posted_username type=text size=20 maxlength=10></td>
              </tr>
              <tr>
                <td>Password:</td>
                <td><input name=posted_password type=password size=20 maxlength=15></td>
              </tr>
              <tr>
                <td></td>
                <td><input type=checkbox name=ricorda value=1> ricorda accesso</td>
              </tr>
            </table></td>
        </tr>
        <tr> 
          <td><div align=right>
    
              <input name=SUBMIT type=submit value=login>
            </div></td>
        </tr>
      </table>
        ");
    	  if (!isset($_COOKIE['PHPSESSID'])) //i cookie sono off, dobbiamo propagare noi il PHPSESSID
        	print("<input type=hidden name=PHPSESSID value=$PHPSESSID>");
        print("
    </form>
        ");         
      } 
      else //siamo loggati pagina riservata 
      { 
    ?>
    .........
    
    
    
    
    <a href="index.php?logout=1" class="link">LOG-OUT..
    
    
    
    </a><?    
      } 
    ?> 
    	</td>
      </tr>
    </table>
    </body>
    </html>
    -------------------------------------------------------
    PAGINA PROTETTA

    codice:
    <?
    
      include_once("../parametri.php");
      include_once("../connessione.php");
      session_start();
      $PHPSESSID=session_id(); 
      if(!IsSet($_SESSION['utente'])) //non siamo loggati, pagina di login 
      	header("Location: index.php");
      	
    ?>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>...</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link href="style.css" rel="stylesheet" type="text/css">
    </head>
    
    <body class="pagina">
    <table width="780" border="0" align="center" cellpadding="0" cellspacing="0">
      <tr>
        <td><div align="center">[img]titolo.gif[/img]
    
          
    
        </div></td>
      </tr>
      <tr>
        <td>
    	
    	....
    	
    	</td>
      </tr>
    </table>
    </body>
    </html>

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    460
    Cosa vuole dire "bucato"? Ti hanno fatto dei defacement?
    There are 10 types of people in the world - those who understand binary and those who don't.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    13
    mi sostituiscono la home..
    quello che mi sa strano è che riescono a scrivere sulla root directory..

    (ho un unico utente e password, che so solo io)
    quelli che mi cambiano la home sono venezuelani, rumeni, turchi,...

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    4

    ...

    Ciao, sono il ragazzo che ha aperto il thread "Area riservata", mi dispiace ma di sessioni ancora nn ho idea di come si opera, sto invece studiando come usare un database phpmysql per creare siti protetti e un sito di annunci,però ancora sono in alto mare...

    Ma il server che usi è locale oppure fai uso di un database mysql?

    Se ti scrivono sulla root directory, è il server bacato o sbaglio?

    Se vuoi provo a testare il tuo codice nel mio server...

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    434
    perchè non usi il bbcompiler? così non fai leggere il codice agli altri. Se hai un server dedicato cancellala tu la password, dal file passwd in etc/......solo che diventerebbe na specie di "furto"...

  6. #6
    Non vuoi fornirci l'indirizzo del tuo sito?
    Olio Extravergine d'Oliva Magino
    Prodotti tipici: in vendita olio, pesto ligure e altri prodotti alimentari tradizionali.

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    13
    non penso che l'indirizzo del mio sito sia molto importante ai fini di capire se questa cosa è buchevole o meno..
    comunque non è un sito di chissà che cosa, è solamente il sito di una piccola società sportiva dilettantistica..

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    13
    x mazzo:

    utilizzo un database mysql (ovviamente su server) per l'autenticazione degli utenti.. una tabella con nomeutente e password criptata con md5..

    tutti i miei file di autenticazione e la zona protetta sono su una directory apposita, non nella root..
    quello che mi sa strano è che fanno upload su root dir.

    gli stessi file girano su un altro server di un altro mantainer e non mi hanno mai dato problemi.

    cmq ribadisco che il tutto non è frutto della mia mente perversa, ma ho liberamente preso spunto da http://www.siforge.org/articles/2003...sioni_php.html

    saluti

  9. #9
    ciao a tutti...

    stavo iniziando a fare un' area privata..

    volevo sapere ma se io i vari nome utente e password li metto normalmente dentro ad un db mysql..sono al sicuro..? qualcuno può scoprirli..?

    o bisogna criptarli in qualche modo ..? se si come...?

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.