Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 26

Discussione: $_post

  1. #1

    $_post

    Scusate.. sto cercando di imparare php da poco e ho dei seri problemi a capire alcune cose...

    Supponiamo che l'utente riempie un modulo e clicca su invia. Quindi viene indirizzato a una pagina che gli dice di ricontrollare e confermare.
    Il codice dovrebbe essere più o meno questo:
    Codice PHP:
    <form method="post" enctype="text/plain" action="verifica.php">
    Nome*:

    <
    input type="text" name="nome" id="nome" size="40" maxlength="30" />

    Cognome*:

    <
    input type="text" name="cognome" id="cognome" size="40" maxlength="30" />

    Nome*:

    <
    input type="text" name="email" id="email" size="40" maxlength="30" />

    Testo*:

    <
    textarea name="testo" id="testo" rows="11" cols="60"></textarea>

    <
    input type="submit" value="invia" name="submit" />
    </
    form
    Nella pagina php metto qualcosa tipo questo:
    Codice PHP:
    <?php
    $testo 
    $_POST['testo'];
    $nome $_POST['nome'];
    $cognome $_POST['cognome'];
    $email $_POST['email'];
    $ip $_SERVER['REMOTE_ADDR'];
    ?>
    [b]Modulo compilato da <?php echo $ip?>[/b]

    controlla e conferma le informazioni che hai inserito



    Nome: <?php echo $nome?>

    Cognome:<?php echo $cognome?>

    Email: <?php echo $email?>

    Testo:<?php echo $testo?>


    <form method="post" enctype="text/plain" action="invia.php">
    <input type="hidden" name="nome" id="nome" value="<?php echo $nome ?>" />

    <input type="hidden" name="cognome" id="cognome" value="<?php echo $cognome ?>" />

    <input type="hidden" name="email" id="email" value="<?php echo $email ?>" />

    <input type="hidden" name="testo" id="testo" value="<?php echo $testo ?>"></textarea>

    <input type="submit" value="invia" name="submit" />
    </form>
    E' giusto? Cosa ho sbagliato?
    Non riesco a far funzionare le variabili $_POST ...
    neanche con $HTTP_POST_VARS
    Perfavore, mi serve una mano, per voi è una cosa semplicissima... in teoria lo è.. ma non so perchè avevo uno script prima che funzionava tranquillamente e che adesso non funziona... e nella versione flash del sito invece funziona benissimo.. non so da che dipende!
    Allora ho deciso di rifarlo da capo per la versione html, almeno memorizzo bene come si fa e me ne faccio uno mio... ma non riesco a far funzionare quelle variabili!
    Nella pagina verifica.php
    mi esce qualcosa del genere:

    Modulo inviato da (numero ip giusto e fin qui tutto ok)
    Conferma le tue informazioni bla bla bla....

    Nome:
    Cognome:
    Email:
    Testo:

    Invia

    Aiuto, datemi una mano perfavore.

  2. #2
    prova a mettere tutto in GET, è molto più sicuro!

    <form method="get" ....>

    $testo = $_GET['testo'];


  3. #3
    Da quando i dati passati in GET sono più sicuri?
    Sistemi di allarme, telecamere, autoradio, video proiettori e altri prodotti tecnologici: fedom.it

  4. #4
    Originariamente inviato da Albertorrr
    Da quando i dati passati in GET sono più sicuri?
    da sempre! ciao

  5. #5
    Io sapevo il contrario e nn mi pare il GET, anzì di solito vengono sconsigliati quando si può, avevo letto da qualche parte.

    EDIT: E poi, mi pare strano, tramite GET si possono fare SQL injections, remotes files
    including, XSS.
    EDIT2: Anche in POST ci sono problemi di sicurezza, però i controlli da effettuare sull'input sono più semplici.

    Ciao
    Sistemi di allarme, telecamere, autoradio, video proiettori e altri prodotti tecnologici: fedom.it

  6. #6
    pare che va...
    mo provo a finire lo script e vedo se funziona..
    si può inviare un email con metodo get?
    cosa cambia tra get e post?
    da quello che so usando post le informazioni non vengono visualizzate sulla barra dell'indirizzo.. e poi?
    E perchè non prima usando post non funzionava?

  7. #7
    Nei get metti sempre un controllo per il tipo di dati che vengono passati, se alfanumerici o meno(se i dati che devono essere passati nn hanno segni particolari), e poi hai un limite di 2000 caratteri, poi, se nn sbaglio i browsers reggono quantità di dati diverse, quindi più di tanto lungo l'url nn conviene farlo.
    I dati si vedono nella barra degli indirizzi, e quindi possono essere visti, poi sei più esposto a rischi di XSS(che sono attacchi in javascript) e remotes files including(inclusione di files remoti).
    Per i POST hai il problema delle SQL injections(ma anche con il GET) del tipo ' OR 1=1 oppure ' OR 1=0 UNION SELECT con un'altra tabella, quindi ricorda di aggiungere addslashes(), poi htmlentities e di controllare magic_quotes_gpc se è attivo o meno.

    Ciao
    Sistemi di allarme, telecamere, autoradio, video proiettori e altri prodotti tecnologici: fedom.it

  8. #8
    grazie.
    Con get funziona..
    stesso script:
    con $_POST non funziona;
    con $_GET invece sì.
    Perchè?
    Si potrebbe avere un link con qualche informazione in più su questi problemi di sicurezza?

  9. #9
    Uhm...cerca su google, cmq mi sembra che ce ne era uno famoso, nn ricordo se inglese...

    Ciao
    Sistemi di allarme, telecamere, autoradio, video proiettori e altri prodotti tecnologici: fedom.it

  10. #10
    ok grazie ma rimane la domanda:
    perchè con post non funziona? non dovrebbe funzionare tranquillamente?
    Cioè.. utilizzando uno script per invio mail l'email m'arrivava vuota. Mentre invece tutte le guide dicono di utilizzare il metodo POST..
    Devo aver sbagliato qualcosa io.. bo!

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.