Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente bannato
    Registrato dal
    Oct 2004
    Messaggi
    251

    Form mail problema con firewall

    ciao
    io ho un semplice formmail ma all'invio mi manda alla pagina di errore

    //url della pagina errore invio non autorizzato (mancanza di referer)
    $pagina_error_referer = "errore_referer.htm";


    if(empty($_SERVER["HTTP_REFERER"])){

    header ("Location: $pagina_error_referer");
    exit();

    }
    ...................

    questo solo se ho attivato i firewall software sul pc, compreso qullo di windows, se li disattivo il modulo viene inviato perfettamente
    è possibile aggiustare questo modulo senza doverne fare un altro?

  2. #2
    non ho capito bene il problema, spiega meglio per favore eventualmente postando un pezzo maggiore di codice.

    da quello che vedo, tu valorizzi una variabile e ne controlli un'altra.

  3. #3
    Utente bannato
    Registrato dal
    Oct 2004
    Messaggi
    251
    <?php
    ####################### SAIBAL GENERAL FORM 1.0 ####################
    # #
    # Roma - Aprile 2003 #
    # #
    # Scriptino piccolino piccolino da leccarsi i gomiti #
    # #
    # Dedicato al mio Taricone... il gatto che non deve chiedere mai! #
    # #
    # Baci ai pupi #
    # Saibal alias Lorenzo #
    ################################################## ##################

    #######################################
    # IMPOSTAZIONI DI CONFIGURAZIONE #
    #######################################

    //email del destinatario del modulo
    $destinatario = "info@xxxxxxxx.it";


    //oggetto dell'email
    $oggetto_email = "Modulo inviato da .....";

    //se si vogliono rendere tutti i campi NON OBBLIGATORI impostare su "y". valori possibili: "y" e "n"
    $all_free = "n";

    //se invece avete messo "n" inserire tra virgolette, separati da virgola, i nomi dei campi da rendere OBBLIGATORI
    //Esempio: $campi_req = array("telefono","via");
    $campi_req = array("cognome","nome","eta","sesso","email","tele fono","totale_viaggiatori","totale_adulti","destin azione","periodo_partenza","periodo_rientro","budg et_di_spesa","privacy");

    //controllo del campo email? valori possibili: "y" e "n"
    $obbligo_email = "y";

    //obbligare l'utente ad accettare le condizioni? valori possibili: "y" e "n"
    $accetta_condizioni = "y";

    //url della pagina di ringraziamento
    $pagina_grazie = "risposta.htm";

    //url della pagina errore campi vuoti
    $pagina_error_empty = "campi_vuoti.htm";

    //url della pagina errore email
    $pagina_error_email = "errore_email.htm";

    //url della pagina errore condizioni non accettate
    $pagina_error_condizioni = "errore_condizioni.htm";

    //url della pagina errore invio non autorizzato (mancanza di referer)
    $pagina_error_referer = "errore_referer.htm";

    //orario e data
    $ora = date ("H:i:s");
    $data = date ("d/m/Y");

    //intestazione dell'email (arriva al destinatario)
    $corpo = "
    Modulo inviato il $data alle ore $ora\n
    Riepilogo dati:\n
    __________________________________________________ __________\n";

    //======================= NON TOCCARE NULLA... SE NON VUOI INCASINARE QUALCOSA =======================\


    ########### CODICE VARIO ###########

    //variabili per rendere lo script compatibile anche con PHP 4.2 - copyright di Chris
    if(!isset($_SERVER) OR !$_SERVER OR !is_array($_SERVER) OR count(array_diff($_SERVER, $HTTP_SERVER_VARS))){
    $_POST = &$HTTP_POST_VARS;
    }

    //prendo il numero IP
    if(isset($_SERVER["HTTP_X_FORWARDED_FOR"])){

    if ($_SERVER["HTTP_X_FORWARDED_FOR"] == "") {

    $ipnumb = getenv("REMOTE_ADDR");

    }else {

    $ipnumb = getenv("HTTP_X_FORWARDED_FOR");

    }

    } else {

    $ipnumb = getenv("REMOTE_ADDR");
    }
    ###################################


    //breve controllo
    if(empty($_SERVER["HTTP_REFERER"])){

    header ("Location: $pagina_error_referer");
    exit();

    }


    ########### CONTROLLO DEI CAMPI ###########
    $control_campi = 0;

    if($all_free != "y"){

    foreach($_POST as $key => $valore){

    if(in_array($key,$campi_req)){

    if(trim($valore) == ""){

    $control_campi++;

    }

    }

    }

    } else {

    $control_campi = 0;

    }

    ########### CONTROLLO EMAIL ###########
    $control_email = 0;

    if($obbligo_email == "y"){

    if(isset($_POST['email'])){

    //espressione regolare a cura dell'esimio dott. Grande Minchia - http://www.myphp.it
    if(!eregi("^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9_-])+.)+[a-z]{2,6}$", $_POST['email'])){

    $control_email++;

    }

    } else {

    $control_email = 0;

    }

    }

    ########### CONTROLLO CONDIZIONI ###########
    $control_condizioni = 0;

    if($accetta_condizioni == "y"){

    if(isset($_POST['trattamento_dati']) && $_POST['trattamento_dati'] == "accetto"){

    $control_condizioni = 0;

    } else {

    $control_condizioni ++;

    }

    }

    ########### VAI CON L'INVIO DELL'EMAIL ###########
    if($control_campi == 0){

    if($control_email == 0){

    if($control_condizioni == 0){

    foreach($_POST as $key => $valore){

    $key = ucfirst(stripslashes(trim($key)));
    $valore = stripslashes(trim($valore));
    $key = str_replace("_"," ",$key);

    if(trim($valore) == "") $valore = "Non compilato";

    $corpo .= $key .": ". $valore ."\n\n";

    }

    $corpo .= "Numero IP: $ipnumb"."\n\n";

    $corpo .= "
    __________________________________________________ __________ \n\n";


    //inizio l'invio dell'email
    mail("$destinatario","$oggetto_email","$corpo", "From: $nome_e_cognome <$email>");

    header ("Location: $pagina_grazie");

    } else {

    header ("Location: $pagina_error_condizioni");

    }

    } else {

    header ("Location: $pagina_error_email");

    }

    } else {


    header ("Location: $pagina_error_empty");

    }

    ?>
    il pratica con i firewall attivati sul pc non funziona l'invio e mi manda a questa pagina:
    //url della pagina errore invio non autorizzato (mancanza di referer)
    $pagina_error_referer = "errore_referer.htm";
    in pratica vedo questa pagine htm

  4. #4
    ti serve per un motivo specifico tutto questo script?

    se ti serve mandare un email non basta fare
    Codice PHP:
    mail("aaa@isp.it","oggetto","testo email""From: sono_ io<aaa@isp.it>"); 
    guarda questo link

  5. #5
    Utente bannato
    Registrato dal
    Oct 2004
    Messaggi
    251
    si

    comunque sarebbe stato interessante anche riuscire a capire come poter risolvere quel problema

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.