Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    1,199

    Nascondere indirizzo dell'action per un form

    Ciao a tutti.

    è possibile in qualche modo nascondere l'indirizzo della pagina a cui punta l'action di un form?

    <form name="info" action="mail.php" method="post">

    Queso per evitare che qualcuno possa lanciare la pagina mail.php, con il risultato che arrivino mail vuote.

    Se è possibile Ajax, javascript...quale strada mi suggerite?

    Grazie
    Marco

  2. #2
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Basta che verifichi i campi e se non ci sono non mandi l'email.

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    1,199
    No ho capito che intendi...ma forse sono io che mi sono spiegato maluccio.

    Provo a spiegarmi meglio: se vedo da web la mia pagina form.php e apro "visualizza sorgente pagina" da firefox, posso vedere il nome della pagina di invio form:

    <form name="info" action="mail.php" method="post">

    è possibile nn mostrare la pagina di mod che nessuno la possa vedere.

    È ottenere che se guardo da "visualizza sorgente pagina" avrò

    <form name="info" action="" method="post">
    <form name="info" action="#" method="post">

  4. #4
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Non devi nascondere niente. Basta che verifichi i campi inviati siano validi. Se no non mandi l'email.

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    No, non puoi, ma la soluzione che ti ha dato neroux è valida ugualmente per lo scopo che hai spiegato nel primo post.

    Tu vuoi evitare che ti vengano mandate email vuote (così hai scritto), bene in mail.php controlla che il campo del messaggio sia stato compilato, magari imponendo anche un numero minimo di caratteri.

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    1,199
    Io il controllo dei campi compilati i meno lo faccio già nella pagina form.php ovvero dove è il form.

    In form.php richiamo un .js che contiene i controlli.

    Mail.php è quella che invece uso per effettuare l'invio.

    Quindi voi mi dite di spostare i controlli su mail.php??

  7. #7
    ciao!
    i controlli che fai in js sono per la "user experience" (in altre parole servono all'utente, non a te perchè non danno garanzie, un client può disabilitare js )
    per questioni di sicurezza è buona abitudine duplicare il controllo nel php di dedtinazione (nel tuo caso mi sembra di capire mail.php) questi controlli non hanno modo di essere aggirati se propriamente scritti perchè il codice php non è visibile al client.

    un esempio banale che puoi migliorare soprattutto nella parte in cui informi l'utente che sta accedendo allo script in modo non autorizzato.
    codice:
    // presupponendo che hai un campo <input type="text" name="body" />
    // e che il form inviibdati con method="post"
    // in mail.php nelle prime righe
    if(!isset($_POST['body'])){
      die("accesso non autorizzato!");
    // ripetendo il controllo per tutti i campi o includendoli nello stesso if

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    1,199
    Ciao innazitutto grazie per l'aiuto.

    Ho provato ma quando inserisco questa riga come mi indicavi non mi funziona più l'invio.

    Ti posto il codice:

    codice:
    <?php
    if(!isset($_POST['nome'])){die("accesso non autorizzato!")};
    
    // L'INDIRIZZO DEL DESTINATARIO DELLA MAIL
    $to = "email@gmail.com";
    		
    // IL SOGGETTO DELLA MAIL
    $subject = "Modulo richiesta";
    		
    $body .= "Nome:
    " . trim(stripslashes($_POST["nome"])) . "
    
    ";
    		$body .= "Cognome:
    " . trim(stripslashes($_POST["cognome"])) . "
    
    ";
    		$body .= "Azienda:
    " . trim(stripslashes($_POST["azienda"])) . "
    
    ";
    		$body .= "E-Mail:
    " . trim(stripslashes($_POST["email"])) . "
    
    ";
    		$body .= "Telefono:
    " . trim(stripslashes($_POST["telefono"])) . "
    
    ";
    		$body .= "Tipologia:
    " . trim(stripslashes($_POST["tipologia"])) . "
    
    ";

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    1,199
    Scusami ultimateshadow funziona, ho messo il codice che mi dicevi proprio ad inzio pagina è funziona.

    Una domanda perchè poi metterlo per tutti i campi?

    <?php if(!isset($_POST['nome'])){ die("accesso non autorizzato!");}

    se lo inseirsco anche se per un campo solo il codice gia si ferma e nn prosegue ad inviare la mail.

  10. #10
    Utente di HTML.it L'avatar di Electro
    Registrato dal
    Dec 2003
    Messaggi
    565
    Originariamente inviato da markgrav
    Scusami ultimateshadow funziona, ho messo il codice che mi dicevi proprio ad inzio pagina è funziona.

    Una domanda perchè poi metterlo per tutti i campi?

    <?php if(!isset($_POST['nome'])){ die("accesso non autorizzato!");}

    se lo inseirsco anche se per un campo solo il codice gia si ferma e nn prosegue ad inviare la mail.
    Il controllo lo devi fare per tutti i campi che desideri siano obbligatori, se un utente ha javascript disabilitato o qualche problema al browser, riuscirà a inviare il form con campi mancanti ecc...

    La validazione degli input, si fà lato server principalmente, quella lato client è accessoria e serve solo per migliorare l'esperienza utente, ma non dà garanzie.
    Nulla

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.