Antworten auf deine Fragen:
Neues Thema erstellen

Contact Formular wird vom Provider blockiert

d4y

Pixel schupser

PHP:
<?php

$your_email = 'tech1@profi-glue.com'; // Your email address
$subject = 'Email from your support form'; // Email subject

$name = isset($_POST['name']) && $_POST['name'] ? $_POST['name'] : ''; // Visitor Name
$email = isset($_POST['email']) && $_POST['email'] ? $_POST['email'] : ''; // Visitor Email
$message = isset($_POST['message']) && $_POST['message'] ? $_POST['message'] : ''; // Visitor Message
$website = isset($_POST['website']) && $_POST['website'] ? $_POST['website'] : ''; // Visitor Message

$full_message = 'Website: '.$website. "\r\n\r\n Message:".$message;

if($name && $email && $message)
{
$headers = 'From: '.$name.' <'.$email.'>' . "\r\n" .
'Reply-To: '.$email.'' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
$headers .= 'Content-type: text/plain; charset=UTF-8' . "\r\n";

//------------------------------------------------
// Send out email to site admin
//------------------------------------------------
if(@mail($your_email, $subject, $full_message, $headers))
die("success");
else
die("error");
}
else
{
die("error");
}

?>"
Brauch mal Hilfe.

Habe foldendes scribt, js und php benutzt um ein Contact Formular zu erstellen, nun bekomme ich von meinem Provider folgende E-Mail
"Dear Customer,

As provider of Shared Hosting services, we monitor the usage of all our customers to ensure that our Quality of Service is not adversely affected. Our goal is to ensure that one customer should not affect all the other customers on the same server.

As part of our routine monitoring, we have observed that some of the files hosted on this server belonging to domain name profi-glue.com hosted under your account, has some malicious files hosted.

In order to prevent blacklisting of our service with various service providers, we have blocked outbound port 80 for this domain name as a precautionary measure. Here are the details of the files that were detected to be malicious.


/home/profi7ik/public_html/test/contact.html

We strongly suggest you to scan all the above listed files for any vulnerabilities. If the files are part of some plugins of your CMS, then we suggest you to update the plugin to the latest version or contact the plugin developer directly.

Please refer our AUP for further information. If you have any queries, please feel free to contact our Support team"
HTML:
"
HTML:
<!-- START CONTACT FORM -->
            <form action="#" class="contact_form">
            <p>
                <label for="name">Name <span>*</span></label>
                <input class="inputText" type="text" id="name" name="name" />
            </p>
            <div class="clear"></div>
            <p>
                <label for="email">E-mail <span>*</span></label>
                <input class="inputText" type="text" id="email" name="email" />
            </p>
            <div class="clear"></div>
            <p>
                <label for="website">Image link</label>
                <input class="inputText" type="text" id="website" name="website" />
            </p>
            <div class="clear"></div>
            <p>
                <label for="message">Message <span>*</span></label>
                <textarea class="inputTextarea" cols="88" rows="6" id="message" name="message"></textarea>
            </p>
            <div class="clear"></div>
            <p class="submit">
                <a href="javascript:void(0);" class="button white" onclick="$('.contact_form').submit();">Send</a>
            </p>
            </form>
<!-- END CONTACT FORM -->"
js-Script:
"
Javascript:
$(document).ready(function () {

    $('#name').focus(function () {
        $(this).removeClass('error_class');
    });

    $('#email').focus(function () {
        $(this).removeClass('error_class');
    });

    $('#message').focus(function () {
        $(this).removeClass('error_class');
    });

    $('.contact_form').submit(function () {

        hasError = false;

        if ($('#name').val() == '') {
            $('#name').addClass('error_class');
            hasError = true;
        }

        var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;

        var emailaddressVal = $('#email').val();
        if (emailaddressVal == '') {
            $('#email').addClass('error_class');
            hasError = true;
        }
        else if (!emailReg.test(emailaddressVal)) {
            $('#email').addClass('error_class');
            hasError = true;
        }

        if ($('#email').val() == '') {
            $('#email').addClass('error_class');
            hasError = true;
        }

        if ($('#message').val() == '') {
            $('#message').addClass('error_class');
            hasError = true;
        }

        if (hasError == true) {
            $('.info_box').hide();
            $('.error_box').show();
        }
        else {
            $.ajax({
                type: 'POST',
                url: 'support.php',
                cache: false,
                data: $(".contact_form").serialize(),
                success: function (data) {
                    if (data == "error") {
                        $('.success_box').hide();
                        $('.error_box').show();
                    }
                    else {
                        $('#name').val('');
                        $('#email').val('');
                        $('#message').val('');
                        $('#website').val('');
                        $('.error_box').hide();
                        $('.success_box').show();
                    }
                }
            });
        }

        return false;
    });
});
"

PHP
"
PHP:
<?php

    $your_email = 'tech1@profi-glue.com'; // Your email address
    $subject = 'Email from your support form'; // Email subject

    $name = isset($_POST['name']) && $_POST['name'] ? $_POST['name'] : ''; // Visitor Name
    $email = isset($_POST['email']) && $_POST['email'] ? $_POST['email'] : ''; // Visitor Email
    $message = isset($_POST['message']) && $_POST['message'] ? $_POST['message'] : ''; // Visitor Message
    $website = isset($_POST['website']) && $_POST['website'] ? $_POST['website'] : ''; // Visitor Message

    $full_message = 'Website: '.$website. "\r\n\r\n Message:".$message;

    if($name && $email && $message)
    {
        $headers = 'From: '.$name.' <'.$email.'>' . "\r\n" .
        'Reply-To: '.$email.'' . "\r\n" .
        'X-Mailer: PHP/' . phpversion();
        $headers .= 'Content-type: text/plain; charset=UTF-8' . "\r\n";
       
        //------------------------------------------------
        // Send out email to site admin
        //------------------------------------------------
        if(@mail($your_email, $subject, $full_message, $headers))
            die("success");
        else
            die("error");
    }
    else
    {
        die("error");
    }

?>
"

Irgend eine Idee was ich Falsch mache??
 
Zuletzt bearbeitet von einem Moderator:

d4y

Pixel schupser

War es nicht,wo und wie bau ich den das hier <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> ein?

P.S. Ich bat um Hilfe nicht um Spot
 
G

Gelöschtes Mitglied 633957

Guest

Das kannst Du grundsätzlich um jede Variable packen! Bsp:
PHP:
<?php
$your_var = "<a href='#'>Test1</a>";
$my_var = htmlspecialchars($your_var, ENT_QUOTES);
echo $my_var;
?>
Evtl. solltest Du Dir auch einmal strip_tags() anschauen. Bsp:
PHP:
<?php
$your_var = "<a href='#'>Test2</a>";
$my_var = strip_tags($your_var);
echo $my_var;
?>
Du kannst auch htmlspecialchars() und strip_tags() kombinieren!

EDIT:
wie bau ich den das hier <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> ein?
Das wäre in Deinem Fall:
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" class="contact_form">
 
Zuletzt bearbeitet von einem Moderator:

d4y

Pixel schupser

Habe das jetzt so eingebaut

PHP:
<?php
 
    $your_email = 'tech@profi-glue.com'; // Your email address
    $subject = 'Email from your support form'; // Email subject
 
    $name_form = htmlspecialchars($name, ENT_QUOTES);
    echo $name_form;
    $email_form = htmlspecialchars($email, ENT_QUOTES);
    echo $email_form;
    $message_form = htmlspecialchars($message, ENT_QUOTES);
    echo $message_form;
    $webseite_form = htmlspecialchars($webseite, ENT_QUOTES);
    echo $webseite_form;
 
    $name_form = isset($_POST['name']) && $_POST['name'] ? $_POST['name'] : ''; // Visitor Name
    $email_form = isset($_POST['email']) && $_POST['email'] ? $_POST['email'] : ''; // Visitor Email
    $message_form = isset($_POST['message']) && $_POST['message'] ? $_POST['message'] : ''; // Visitor Message
    $website_form = isset($_POST['website']) && $_POST['website'] ? $_POST['website'] : ''; // Visitor Message
 
    $full_message = 'Website: '.$website_form. "\r\n\r\n Message:".$message_form;

    if($name && $email && $message)
    {
        $headers = 'From: '.$name_form.' <'.$email_form.'>' . "\r\n" .
        'Reply-To: '.$email_form.'' . "\r\n" .
        'X-Mailer: PHP/' . phpversion();
        $headers .= 'Content-type: text/plain; charset=UTF-8' . "\r\n";
         
        //------------------------------------------------
        // Send out email to site admin
        //------------------------------------------------
        if(@mail($your_email, $subject, $full_message, $headers))
            die("success");
        else
            die("error");
    }
    else
    {
        die("error");
    }
 
?>

Jetzt bekomme ich trotz ausgefüllter Felder ne Fehlermeldung
Ich verzweifle...
 
Zuletzt bearbeitet von einem Moderator:

dn3d_fanboy

Aktives Mitglied

Ich habe in deinem ersten Post gelesen, dass eine contact.html beanstandet wird. Wird das PHP in einer .html File überhaupt an den Server gesendet und verarbeitet?
 

tr4ze

Mod | Forum

Teammitglied
PSD Beta Team
P.S. Ich bat um Hilfe nicht um Spot

Das war kein Spot, das war Sarkasmus und der sollte weh tun.

Ich versuche mal dir zu erklären was das Problem bei deinem Script ist, was höchst wahrscheinlich passiert ist und wie du dein Problem löst.

Das Problem:

Du hast einen sogenannten offenen Mailer geschrieben, das bedeutet das dein Script nicht nur nicht prüft ob die übertragenen Daten valide sind, sondern auch nicht ob diese aus einer autorisierten/vertrauenswürdigen Quelle stammen.

Was passiert ist:

Ein Mail-Bot wird über dein Script gestolpert sein, erkannt haben das es ungeschützt ist, und dann damit begonnen haben in deinem Namen Spam zu versenden.

Das bringt natürlich den Mailserver auf Touren, was dein Provider registriert hat, welcher dir kurzerhand den Zugang sperrt.

Die Lösung:

1. Denn kompletten Vorgang durch einen Token absichern.
Dafür machst du eine Session auf und generierst bei jedem Request einen neuen Token.
Diesen übergibst du an dein Mailscript welches die Autentizität prüft

2. Daten auf der Server Seite prüfen.
Also alle unerwünschten Zeichen escapen.
- htmlspecialchar
- regex
- php filter

3. Captcha
z.B. von Goggle

Punkt 1 musst du selber umsetzen oder dir ein CMS suchen welches sowas unterstützt(tun eigentlich alle). Goggle mal nach: "prevent cross site request forgery"

Punkt 2 würde ich auf ein vernünftiges Mailerscript setzen mein Tip: Swiftmailer

btw: hier im Editor gibt es einen Einfügen Button, wen du diesen auswählst kannst du hier Codeblöcke(html/css/js) einfügen.
 

d4y

Pixel schupser

@ tr4ze erst einmal Danke für die Tips, Sarkasmus ist O.K. und kann ich auch mit leben... Ich kritisiere immer nur hier im Forum das man um Hilfe bittet und anstatt Hilfe Spott bekommt, was Du ja mit deiner späteren Hilfe ausgeglichen hast ;-) Noch mal Danke a) für den Sarkasmus und b) für die Tips
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Keine Mitglieder online.

Statistik des Forums

Themen
118.635
Beiträge
1.538.449
Mitglieder
67.556
Neuestes Mitglied
Ggirl
Oben