Ray: 1und1 server gegen Alice / PHP globale variablen?

Hallo,
ich benutze diesen PHP formmailer über ein Flash-Formular. Er läuft auf meinem 1und1-Server tadellos - doch leider nicht auf einem Alice-Server. (wo offensichtlich eine andere PHP Version liegt...)
Habe von PHP kaum Ahnung, es wurde mir gesagt das es an "globalen variablen" liegt. Kann mir jemand sagen wie ich das Script verändern muss damit es auch auf dem Alice-Server läuft? Vielen Dank!

.....................................

<?

/******************************************************
**
**   PHP Mailer 2.0
**
**   This script is easy to configure. Just change the variables below to
**    suit your environment and PHP does the rest!
**
**   http://www.bigjolt.com
**
*******************************************************/

/*******************************************************

Enter your site details below!

*******************************************************/

// Enter your contact email address here
$adminaddress = "kontakt@firma.de";

// Enter the address of your website here include http://www.
$siteaddress ="http://www.firma.de";

// Enter your company name or site name here
$sitename = "Firma";

/*******************************************************

No need to change anything below ...

*******************************************************/

// Gets the date and time from your server
$date = date("m/d/Y H:i:s");

// Gets the IP Address
if ($REMOTE_ADDR == "") $ip = "no ip";
else $ip = getHostByAddr($REMOTE_ADDR);

//Process the form data!
// and send the information collected in the Flash form to Your nominated email address
if ($action != ""):
mail("$adminaddress","Neue Kundendaten",
"Eine neuer Besucher hat auf $sitename folgende Angaben gemacht\n
Vorname: $fname
Nachname: $lname
Email: $email
Unternehmen: $cname
Telephone: $telno\n
Terminvorschläge und Anmerkungen:
------------------------------
$comments

Logged Info :
------------------------------
Using: $HTTP_USER_AGENT
Hostname: $ip
IP address: $REMOTE_ADDR
Date/Time:  $date","FROM:$adminaddress");

//This sends a confirmation to your visitor
mail("$email","$sitename",
"Guten Tag $fname $lname,\n
Vielen Dank für Ihre Kontaktaufnahme.
Wir werden uns umgehend bei Ihnen melden.
Ihre $sitename\n
$siteaddress","FROM:$adminaddress");

//Confirmation is sent back to the Flash form that the process is complete
$sendresult = "Vielen Dank für Ihre Angaben. In wenigen Minuten erhalten Sie eine Bestätigungsmail.";
$send_answer = "answer=";
$send_answer .= rawurlencode($sendresult);
echo "$send_answer";

endif;

?>

  1. Hi,

    schau dir mal die Artikel im Internet an, z.B. in der PHP-FAQ.
    Du schaust dir jetzt dein Skript an und suchst alle Variablen ($xyz) die nicht von deinem Skript mit einem Wert belegt werden. Das sind höchstwahrscheinlich Variablen, die von deinem Mailformular übernommen werden sollten. Dann schaust du dir dein Mailformular an, ob es den Mailer per GET oder POST anspricht. Dementsprechend passt du dann dein Skript an, in dem du jede Variable aus dem zur Methode (GET oder POST) passenden Superglobal-Array ausliest.
    Im Gegensatz zur aktuellen Variante, solltest du definitiv noch die Angaben überprüfen:
    Gute und böse Variablen
    Traue niemandem

    MfG
    Rouven

    --
    -------------------
    ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(
  2. Hallo Ray,

    Habe von PHP kaum Ahnung, es wurde mir gesagt das es an "globalen variablen" liegt.

    Ja, der Alice-Server ist anscheinend richtig konfiguriert, sodass register_globals = off gesetzt ist, um möglichen Sicherheitslücken vorzubeugen.

    // Gets the IP Address
    if ($REMOTE_ADDR == "") $ip = "no ip";
    else $ip = getHostByAddr($REMOTE_ADDR);

    if ($_SERVER['REMOTE_ADDR'] == "") $ip = "no ip";  
    else $ip = getHostByAddr($_SERVER['REMOTE_ADDR']);
    

    "Eine neuer Besucher hat auf $sitename folgende Angaben gemacht\n
    Vorname: $fname

    Vorname: {$_REQUEST['fname']}

    Nachname: $lname

    Vorname: {$_REQUEST['lname']}

    Email: $email

    Vorname: {$_REQUEST['email']}

    Unternehmen: $cname

    Vorname: {$_REQUEST['cname']}

    Telephone: $telno\n

    Vorname: {$_REQUEST['telno']}\n

    Terminvorschläge und Anmerkungen:

    $comments

    {$_REQUEST['comments']}

    Logged Info :

    Using: $HTTP_USER_AGENT

    {$_SERVER['HTTP_USER_AGENT']}

    Hostname: $ip
    IP address: $REMOTE_ADDR

    {$_SERVER['REMOTE_ADDR']}

    Das sollte die Probleme beheben.

    Schöne Grüße,

    Johannes

    --
    ie:% fl:( br:< va:| ls:[ fo:) rl:) n4:? ss:| de:] js:| ch:} sh:) mo:| zu:)
    1. Hallo Johannes!

      Ja, der Alice-Server ist anscheinend richtig konfiguriert, sodass register_globals = off gesetzt ist, um möglichen Sicherheitslücken vorzubeugen.

      Ich danke Dir für Deine Mühe, ich glaube auch das es das ist; habe die Änderungen vorgenommen doch leider gehts immer noch nicht. Entweder habe ich etwas übersehen oder etwas fehlt noch? Was ist mit den ersten Variablen im Script, müssen die nicht auch noch umgeschrieben werden?

      <?

      /******************************************************
      **
      **   PHP Mailer 2.0
      **
      **   This script is easy to configure. Just change the variables below to
      **    suit your environment and PHP does the rest!
      **
      **   http://www.bigjolt.com
      **
      *******************************************************/

      /*******************************************************

      Enter your site details below!

      *******************************************************/

      // Enter your contact email address here
      $adminaddress = "kontakt@firma.de";

      // Enter the address of your website here include http://www.
      $siteaddress ="http://www.firma.de";

      // Enter your company name or site name here
      $sitename = "Firma";

      /*******************************************************

      No need to change anything below ...

      *******************************************************/

      // Gets the date and time from your server
      $date = date("m/d/Y H:i:s");

      // Gets the IP Address
      if ($_SERVER['REMOTE_ADDR'] == "") $ip = "no ip";
      else $ip = getHostByAddr($_SERVER['REMOTE_ADDR']);

      //Process the form data!
      // and send the information collected in the Flash form to Your nominated email address
      if ($action != ""):
      mail("$adminaddress","Neue Kundendaten",
      "Eine neuer Besucher hat auf $sitename folgende Angaben gemacht\n
      Vorname: {$_REQUEST['fname']}
      Nachname: {$_REQUEST['lname']}
      Email: {$_REQUEST['email']}
      Unternehmen: {$_REQUEST['cname']}
      Telephone: {$_REQUEST['telno']}\n
      Terminvorschläge und Anmerkungen:
      ------------------------------
      {$_REQUEST['comments']}

      Logged Info :
      ------------------------------
      {$_SERVER['HTTP_USER_AGENT']}

      {$_SERVER['REMOTE_ADDR']}
      Date/Time:  $date","FROM:$adminaddress");

      //This sends a confirmation to your visitor
      mail("$email","$sitename",
      "Guten Tag $fname $lname,\n
      Vielen Dank für Ihre Kontaktaufnahme.
      Wir werden uns umgehend bei Ihnen melden.
      Ihre $sitename\n
      $siteaddress","FROM:$adminaddress");

      //Confirmation is sent back to the Flash form that the process is complete
      $sendresult = "Vielen Dank für Ihre Angaben. In wenigen Minuten erhalten Sie eine Bestätigungsmail.";
      $send_answer = "answer=";
      $send_answer .= rawurlencode($sendresult);
      echo "$send_answer";

      endif;

      ?>

      1. Hallo

        Ich danke Dir für Deine Mühe, ich glaube auch das es das ist; habe die Änderungen vorgenommen doch leider gehts immer noch nicht.

        _Was_ geht immernoch nicht?

        Was ist mit den ersten Variablen im Script, müssen die nicht auch noch umgeschrieben werden?

        Es handelt sich hierbei um die Adresse des Emailempfängers, den eigenen Domainnamen und den Firmennamen. Da sollten schon passende Werte drinstehen.

        <?
        [...]
        //This sends a confirmation to your visitor
        mail("$email","$sitename",
        "Guten Tag $fname $lname,\n

        Es ist davon auszugehen, dass auch $email, $fname und $lname aus dem Formular stammen. Also auch hier: $_REQUEST['email'] etc..

        Was anderes fällt mir auf die Schnelle auch nicht auf.

        Tschö, Auge

        --
        Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
        (Victor Hugo)
        Veranstaltungsdatenbank Vdb 0.1
      2. Hallo Johannes,

        //This sends a confirmation to your visitor

        *JUHU* Endlich gibt es wieder ein neues Formular für die Spammer.

        mail("$email","$sitename", ....

        Bitte überprüfe die Eingabe, die dort gemacht werden, andernfalls öffnest Du Mißbrauch hier Tür und Tor!
        (Will denn heutzutage wirklich keiner mehr seinen eigenen Kopf gebrauchen? Muß denn erst das halbe Internet wegen andauernd kopierten, schlechten Scripten ausfallen?)

        Gruß aus Berlin!
        eddi

        --
        Wer Rechtschreibfehler findet, darf sie behalten.