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

    Evitare che la password sia visibile in chiaro

    ciao a tutti, in una chat e nello specifico nel file insert.php che inserisce i messaggi che gli utenti inviano, c'è un punto per il quale mi è stato detto che sarebbe meglio torvare un modo più sicuro per far passare i dati, posto il file:

    Codice PHP:
    <? 
    $back_ctrl
    =1// quanti messaggi deve verificare per evitare il doppio inserimento (gli ultimi N messaggi) 
    if(!isset($_GET['hideSubmit'])) 

    echo 

        <script language=\"javascript\"> 
        alert(\"Non hai  i permessi per accedere a questa pagina\"); 
            </script> 
            "


            exit; 

    ?> 

    <html> 
    <head> 
    <title>Inserimento del messaggio</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
    </head> 

    <body> 
    <? 
    include("config.php"); 

    $nick=$_GET['nick']; 
    $password=$_GET['password']; 
    $messaggio=$_GET['messaggio']; 
    $messaggio=stripslashes($messaggio);/*elimina gli slashes aggiunti con addslashes*/ 
    $messaggio=str_replace("\n"," ",$messaggio);/*sostituisce gli a capo con degli spazi nel messaggio*/ 
    $commento="[".date("H:i - d/m/Y")."] ".$nick."|".$messaggio."\n"; if ( !empty($_GET['indirizzo_faccina']) ) $commento "[em".$_GET['indirizzo_faccina']."] ".$commento 
    $indrizzo_faccina = (isset($_GET['indirizzo_faccina'])) ? $_GET['indirizzo_faccina'] : ''
    $url "http://www.miosito.it/cartella/chat.php?nick=$nick&password=$password&indirizzo_faccina=$indirizzo_faccina";



    $cercamsg strstr($messaggio,"<");/*trova la prima occorrenza di <  nel 
    messaggio*/ 
    $cercamsg2 strstr($messaggio,">");/*trova la prima occorenza di > nel 
    messaggio*/ 



    if (empty($messaggio)) 

    Header("Location: $url"); 

    elseif (
    $cercamsg && $cercamsg2

    Header("Location: $url"); 

    else 

    $chk_file=file($file_mess); 
    $status=0
    for (
    $x=count($chk_file)-$back_ctrl;$x<count($chk_file);$x++) 
      { 
      list(
    $data_nick,$chk_msg)=explode("|",$chk_file[$x]); 
      list(
    $em,$chk_data,$chk_nick)=explode("] ",$data_nick);   
      if ( 
    trim($chk_msg) == trim($messaggio) && trim($nick)==trim($chk_nick) ) $status 1
      
    //echo " nick utilizzato= ".$nick." e nick di verifica = $chk_nick
    "; 
      } 
    if (
    $status == 0) 
      { 
      
    $apri_file=fopen($file_mess,"a+"); 
      fputs(
    $apri_file,$commento); 
      fclose(
    $apri_file); 
      Header("
    Location$url");   
      } 
    else 
      { 
      Header("
    Location$url");   
      } 

    ?> 
    </body> 
    </html>
    per precisione il punto da sistemare sarebbe questo:
    Codice PHP:
    $url "http://www.miosito.it/cartella/chat.php?nick=$nick&password=$password&indirizzo_faccina=$indirizzo_faccina"
    praticamente nella barra delle info sotto compare sia il nick che la password è possibile evitare questo? grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    813
    in pratica, mandi le password ad ogni messaggio? A me è sembrato di capire questo...
    Cmq, in ogni caso, prova ad usare le sessioni e di usare l'hashing in md5
    Nell'anno 1968 è bastata la potenza di due Commodore 64 per lanciare con successo una navicella sulla Luna; nell'anno 2007 ci vogliono la potenza di un processore quad core 3.30 GHz e 3 Gb di RAM (requisiti minimi ufficiali) per utilizzare Windows Vista. Qualcosa deve essere andato storto!

  3. #3
    intanto grazie m'era giÃ_ stato detto di usare le sessionì ma il php non lo conosco mi potresti fare un esempio ti ringrazio

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    813
    beh...le sessioni sono un array associativo proprio come il get
    all'inzio del file metti session_start(); e poi usi
    $_SESSION['nomechevuoi']=valorechevuoi;

    ti consiglio di andare: http://it.php.net/manual/it/session.examples.php
    Nell'anno 1968 è bastata la potenza di due Commodore 64 per lanciare con successo una navicella sulla Luna; nell'anno 2007 ci vogliono la potenza di un processore quad core 3.30 GHz e 3 Gb di RAM (requisiti minimi ufficiali) per utilizzare Windows Vista. Qualcosa deve essere andato storto!

  5. #5
    è come l'arabo per me sta roba, però proviamoci

    allora in pratica se non erro devo trasformare questa parte
    Codice PHP:
    codice PHP:
    $url "http://www.miosito.it/cartella/chat.php?nick=$nick&password=$password&indirizzo_faccina=$indirizzo_faccina"
    in questa:
    Codice PHP:
    <?php
    session_start
    ();
    // Use $HTTP_SESSION_VARS with PHP 4.0.6 or less
    if (!isset($_SESSION['count'])) {
      
    $_SESSION['count'] = 0;
    } else {
      
    $_SESSION['count']++;
    }
    ?>
    eh è una parola, qualcuno mi aiuta? :master:

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    813
    Noi possiamo aiutarti, ma se purtroppo a te mancano nozioni base di programmazione non ci possiamo fare niente.
    Cmq, le sessioni permettono di 'creare' delle variabili utilizzabili anche nella pagina successiva, mediante l'utilizzo dell'array (vettore) associativo (ad ogni parola corrisponde un dato, stringa o numero che sia).
    In questa struttura puoi mettere nome utente, password e tutti dati che desideri.
    Nell'anno 1968 è bastata la potenza di due Commodore 64 per lanciare con successo una navicella sulla Luna; nell'anno 2007 ci vogliono la potenza di un processore quad core 3.30 GHz e 3 Gb di RAM (requisiti minimi ufficiali) per utilizzare Windows Vista. Qualcosa deve essere andato storto!

  7. #7
    miseria magari è facile ma no per me non è che potresti farmi un esempio che poi completo io devo riuscire a farla questa cosa

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.