+ Rispondi alla Discussione
Risultati da 1 a 3 di 3

user & pass da form a scrittura file php

Ultimo Messaggio di linno il:
  1. #1
    User
    Data Registrazione
    Feb 2007
    Messaggi
    135

    user & pass da form a scrittura file php

    Ciao a tutti ..
    sono newbie di php .... ma sono riuscito a creare uno script per la registrazione ldap funziona ma.. mi sono voluto complicare la vita, e... come al solito non sapendo che pesci pigliare chiedo aiuto a voi!

    ecco lo script
    Codice HTML:
    <html>
    <head>
    <title>Creare e scrivere un file da form con PHP</title>
    </head>
    <body>
    <?php
    if(isset($_POST['submit'])) ($_POST['nome'] && $_POST['cognome']) ;
    $stringa.='<?php '."\n"; 
    $stringa.='$user = \'.$_POST[\'user\'].\';'."\n"; 
    $stringa.='$pass = \'.$_POST[\'pass\'].\';'."\n";   
    $stringa.='$host = \'pippo.it\';'."\n"; 
    $stringa.='$user .= \'@{$host}\';'."\n";
    $stringa.='$conn = ldap_connect($host) or die(\'Impossibile connettersi a $host<br>\');'."\n";
    $stringa.='if ($conn) {'."\n"; 
    $stringa.='    @$bind = ldap_bind($conn, $user, $pass);'."\n";
    $stringa.='    if ($bind) {'."\n";
    $stringa.='        echo \'Autenticazione riuscita $user\';'."\n";
    $stringa.='   } else { '."\n";
    $stringa.='       echo \'Autenticazione fallita $user\';'."\n";
    $stringa.='}'."\n"; 
    $stringa.='}'."\n"; 
    $stringa.='?>'; 
    $scrivi_file=fopen("pippo.php","w");
    fwrite($scrivi_file,$stringa);
    fclose($scrivi_file);
    $leggi_file=fopen("pippo.php","r");
    $dim_file=filesize("pippo.php");
    $contenuto=fread($leggi_file,$dim_file);
    fclose($leggi_file);
    ?>
    <form method=post action="pippo.php">
    <br>User
    <input type="text" name="user" size="20">
    <br>Password
    <input type="password" name="pass" size="20">
    <input type="submit" value="Invia">
    </form>
    </body>
    </html>

    questo prende user e pass dal form e scrive il file pippo.php, ma il risultato :


    Codice HTML:
    <?php 
    $user = '.$_POST['user'].';   //dovrebbe essere $user = 'user_inserito';
    $pass = '.$_POST['pass'].';  //dovrebbe essere $pass = 'pass_inserita';
    $host = 'pippo.it';
    $user .= '@{$host}';
    $conn = ldap_connect($host) or die('Impossibile connettersi a $host<br>');
    if ($conn) {
        @$bind = ldap_bind($conn, $user, $pass);
        if ($bind) {
            echo 'Autenticazione riuscita $user';
       } else { 
           echo 'Autenticazione fallita $user';
    }
    }
    ?>
    in pratica non riesco a passare le variabili "user" e "pass" e farle scrivere sul file php come vedete mi scrive direttamente il comando ma non la user e pass inserita nel form, da chiarire che se li scrivo in chiaro lo script si autentica perfettamente.

    grazie a tutti per l'aiuto!

  2. #2
    Utente Premium L'avatar di InuYaksa
    Data Registrazione
    Oct 2006
    Messaggi
    119
    Invece di
    $stringa.='$user = \'.$_POST[\'user\'].\';'."\n";
    $stringa.='$pass = \'.$_POST[\'pass\'].\';'."\n";

    prova a scrivere

    $stringa.='$user = "'.addslashes($_POST['user']).'";'."\n";
    $stringa.='$pass = "'.addslashes($_POST['pass']).'";'."\n";

    La funzione "addslashes" serve a filtrare eventuali tentativi di injection e ti consiglio di usarla in tutti i punti in cui recuperi un valore da POST o GET.

  3. #3
    User
    Data Registrazione
    Feb 2007
    Messaggi
    135

    grazie ma..

    ciao grazie della risposta ma scrive questo codice

    Codice HTML:
    <?php 
    $user = "";
    $pass = "";
    $host = 'pippo.it';
    $user .= '@{$host}';
    $conn = ldap_connect($host) or die('Impossibile connettersi a $host<br>');
    if ($conn) {
        @$bind = ldap_bind($conn, $user, $pass);
        if ($bind) {
            echo 'Autenticazione riuscita $user';
       } else { 
           echo 'Autenticazione fallita $user';
    }
    }
    ?>
    ma ho notato che c' un'altro problema, infatti, lo script, parte in automatico appena chiamo la pagina, (e quindi gi scrive una volta) poi se invio il form mi rilascia lo script sopra con i campi vuoti e quindi con autenticazione anonima (ecco il testo nella pagina a video: Autenticazione riuscita $user) e la pagina non restituisce errori
    qualche altro suggerimento?

    thanks!

+ Rispondi alla Discussione

Tag per Questa Discussione

^ Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
  • Il codice BB Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] Attivato
  • Il codice [VIDEO] Attivato
  • Il codice HTML Disattivato
  • Trackbacks Attivato
  • Pingback Attivato
  • Refback Attivato

SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.