Ga naar inhoud


Contactformulier maken in mijn website 2.0


Willem

Aanbevolen berichten


Dit is een programma die werkt met vooraf ingestelde sjablonen.

Je zal in de mogelijkheden van het programma moeten kijken al er ergens een contactformulier inzit.

 

Het formulier op zich is niet het probleem, wel de verwerking ervan. Je zal waarschijnlijk een eigen verwerkpagina moeten schrijven.

 

Misschien eens kijken voor frontpage of dreamweaver als webdesign programma

Veel meer mogelijkheden, maar ook wat meer kennis vereist.

iMac 27" macOS Sierra
iPhone 5s iOS 10

Link naar reactie
Delen op andere sites

En o zo verschrikkelijk oppassen met contactformulieren. Als je het niet echt aan alle kanten dicht timmert, heb je voor je het weet een horde hackers binnen die zo'n formulier als relay station gebruiken voor het versturen van spam.

Of erger nog, ze weten via allerlei cross site scripting technieken binnen te dringen en via jouw website, dus "uit jouw naam", rottigheid uit te halen.

 

Als je er geen verstand van hebt, kun je beter een href="mailto...... link op je website zetten. Niet zo elegant, maar wel zo veilig.

Link naar reactie
Delen op andere sites

klopt als een bus ,ik had een contact formulier op mijn site ,tot ik spam kreeg met mij als afzender.

toen gingen gelukkig mijn alarm bellen af ,maar het het contact formulier verwijdert en alles gecleand .en draait nu weer goed.

Dreambox 800HD 90 cm noname Draaibaar openPLI powerd
Dreambox 500HD 90cm Draaibaar OpenPli powerd
2x skystar2 + Prof 7300 op draaibaar 90cm

Arriva 102 mini voor onderweg.

Link naar reactie
Delen op andere sites

@ Duwgati,

 

Ik begrijp niet waarom een contactformulier gevaarlijker is dan een mailto:.

Zou dat graag willen weten omdat ik dat op een homepage heb gebruikt bij een kennis van me.

Je ziet dan toch het mailadres niet in de bron?

Bij voorbaat dank.

Alx

Ik ben allergisch voor pollen en mensen die regels uitvaardigen, maar er zichzelf niet aan houden.

 

Amstrad650D2Mac>>TF5000PVR>>etc.>>/DB7025+/TF5300KPN,VU+Duo Moteqc2100a-schotel 1mtr-X-Cam/Aston 1.05.

Link naar reactie
Delen op andere sites

Ik ben dan wel geen Duwgati, maar ik zal pogen te antwoorden.

Het probleem zit hem erin dat de scripts die gebruikt worden om de inhoud van het contact formulier te versturen wel eens slecht geschreven kunnen zijn (zeg maar rustig dat dit in 90% van de gevallen zo is), welke het mogelijk maakt dat doormiddel van een aanroep van het script op een speciale manier het mogelijk is dat je server gehacked wordt. Ook is het mogelijk dat het script gebruikt kan worden voor SPAM berichten.

Voorbeeld:

Je contact formulier heeft een mogelijkheid een email adres achter te laten welke gebruikt wordt om het berichtje wat de bezoeker achterlaat ook te sturen naar de bezoeker zelf.

Als je nu in de bericht tekst spam zet, en het script gewoon steeds aanroept met een ander adres in het email adres veld (of een hele lijst met adressen in een keer) dan staat jou server lekker te spammen.. (Met jouw email adres als afzender!)

 

Dus het script moet een aantal dingen controleren voordat het ook maar iets verzend...

 

Ik hoop dat het wat duidelijker is zo.

 

Big fellow

“Success is not final, failure is not fatal: it is the courage to continue that counts.” ~ Winston Churchill

Link naar reactie
Delen op andere sites

Het voorbeeld wat jij noemt is niet eens het meest voorkomende probleem.

 

Kijk bijvoorbeeld eens hier, dit gaat over formmail.pl, misschien wel het meest gebruikte mailformscriptje op internet. Dit wordt eigenlijk alleen gebruikt om mail naar een contact van de website te sturen, maar met veel versies die nog in omloop zijn is het mogelijk om dit te forgen door een variabele achter het aders http://domein.nl/cgi-bin/formmail.pl te zetten.. Heel eenvoudig mee te spammen dus.

Na jaren zonder, ben ik toch weer van plan een schotel aan te schaffen.

Link naar reactie
Delen op andere sites

@Alx,

 

Big Fellow en EL PIÑO geven het al aan. Het is de hackers niet te doen om jouw email-adres. Het is ze te doen om een mogelijkheid om via jouw formulier spam te versturen of toegang tot jouw server te krijgen.

 

Degenen die in jouw email-adres geïnteresseerd zijn, dat zijn weer heel anderen. Daarvoor laten mensen zgn. email-harvesters lopen. Kleine stukjes script die het hele internet doorlopen (van link naar link) en op elke pagina waar ze een emailadres tegenkomen slaan ze dat op en voegen het toe aan hun adressenlijst.

 

Maar vervolgens moeten al die emailadressen natuurlijk nog wel een email krijgen. Daar is het namelijk allemaal om begonnen. En voor het versturen van de mail gebruiken ze uiteraard liever niet hun eigen emailadres of server als afzender. Dus gaan ze op zoek naar slachtoffers die heel argeloos een simpel contactformulier + mail-scriptje hebben draaien en misbruiken dat dan. En daar zijn echt legio manieren voor en er worden nog steeds nieuwe manieren ontdekt.

 

Als je een href="mailto:.... gebruikt, hoef je alleen maar een klein stukje javascript te gebruiken om je emailadres "onzichtbaar" te maken voor de email-harvesters en je bent verder veilig.

 

En voor de zekerheid: Dat geldt echt niet alleen voor contactformulieren, maar ook voor veel gastboek-scripts, forums etc. etc.

Kort gezegd, alles waarbij je gebruikers de mogelijkheid biedt om informatie in te voeren maakt je website kwetsbaar en een potentieel doelwit voor hackers.

 

Link naar reactie
Delen op andere sites

Willen jullie me nog iets verder wijs maken???

Onderstaand opgenomen in een pagina.

Ik zie er geen kwaad in; jullie wel??

Het script heb ik opgepikt bij een PHP-forum.

Vast bedankt, groeten,

Alx

 

<html>

<head>

<title>Contactformulier</title>

</head>

<body>

<form method="post" action="/contactformulier.php">

Naam <input type="text" name="naam"><br>

E-mailadres <input type="text" name="email"><br>

<textarea cols="30" rows="10" name="bericht"></textarea><br><br>

<input type="submit" value="Verzenden">

</form>

</body>

</html>

 

 

 

Het script:

 

<?php

 

if ($_SERVER['REQUEST_METHOD'] == "POST")

{

if (!empty($_POST['naam']) && !empty($_POST['email']) && !empty($_POST['bericht']))

{

$headers = "From: " .addslashes(htmlspecialchars($_POST['naam'])). " <" .addslashes(htmlspecialchars($_POST['email'])). ">\n";

$headers .= "Content-Type: text/html;charset=iso-8859-1";

 

$naar = "naam@domeinnaam.nl";

$onderwerp = "ONDERWERP VAN EMAILBERICHT";

 

$bericht = "<html>\n";

$bericht .= "<head>\n";

$bericht .= "<title>Contactformulier</title>\n";

$bericht .= "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">\n";

$bericht .= "<style>\n";

$bericht .= "table,body\n";

$bericht .= "{\n";

$bericht .= " font-size: 11px;\n";

$bericht .= " font-family: Helvetica, Arial;\n";

$bericht .= "}\n";

$bericht .= "</style>\n";

$bericht .= "</head>\n";

 

$bericht .= "<body>\n";

$bericht .= nl2br(htmlspecialchars(stripslashes($_POST['bericht'])));

$bericht .= "</body>\n";

$bericht .= "</html>\n";

 

mail($naar, $onderwerp, $bericht, $headers);

 

?>

 

<html>

Ik ben allergisch voor pollen en mensen die regels uitvaardigen, maar er zichzelf niet aan houden.

 

Amstrad650D2Mac>>TF5000PVR>>etc.>>/DB7025+/TF5300KPN,VU+Duo Moteqc2100a-schotel 1mtr-X-Cam/Aston 1.05.

Link naar reactie
Delen op andere sites

Om te zien of het safe is zou je vooral moeten experimenteren met allerlei praktijkvoorbeelden.

 

Hier wat voorbeelden van hack pogingen door de headers te modificeren. Dit was dus op een willekeurig veld uit het formulier ingevuld:

Code:
 particularlyContent-Transfer-Encoding: 7bitContent-Type: text/htmlSubject: nited tates, ham is regulated primarily on thebcc: dzegar@orangesundof.comtates, ham is regulated primarily on the basis of its cure and water content. law (specifically the ) recognizes the following categories resh ham is an uncured hind leg of pork. ountry am is uncooked, cured, dried, smoked or unsmoked, made from a single piece of meat from the2a4edb8bb5e60a822a4f0fb39b992bab. 

 

of deze:

Code:
 aconContent-Transfer-Encoding: 7bitContent-Type: text/plainX-Mailer: Ximian Evolution 1.0.6.99Subject: using a higher quantity of salt. taly also has widespreadbcc: fesanske@aol.combcc: dinotto2@aol.combcc: cityangel118@aol.combcc: eddiee1102@aol.combcc: turkey535@aol.combcc: pbmaintenance@aol.comcooking and smoking, the bacon must be chilled before being pressed and sliced. n mass289263b6549b0ca239bdf3803001f08f. 

 

Maar dit is slechts 1 van de manieren die ze gebruiken.

En ik ben geen hacker. Die gasten zijn heel wat slimmer en inventiever dan ik, dus morgen vinden ze wel weer een nieuwe truuk.

Link naar reactie
Delen op andere sites

Citaat:
Willen jullie me nog iets verder wijs maken???
Onderstaand opgenomen in een pagina.
Ik zie er geen kwaad in; jullie wel??
Het script heb ik opgepikt bij een PHP-forum.
Vast bedankt, groeten,
Alx

<html>
<head>
<title>Contactformulier</title>
</head>
<body>
<form method="post" action="/contactformulier.php">
Naam <input type="text" name="naam"><br>
E-mailadres <input type="text" name="email"><br>
<textarea cols="30" rows="10" name="bericht"></textarea><br><br>
<input type="submit" value="Verzenden">
</form>
</body>
</html>



Het script:
Code:
<?phpif ($_SERVER['REQUEST_METHOD'] == "POST"){      if (!empty($_POST['naam']) && !empty($_POST['email']) && !empty($_POST['bericht']))      {            $headers = "From: " .addslashes(htmlspecialchars($_POST['naam'])). " <" .addslashes(htmlspecialchars($_POST['email'])). ">\n";            $headers .= "Content-Type: text/html;charset=iso-8859-1";                                    $naar = "naam@domeinnaam.nl";            $onderwerp = "ONDERWERP VAN EMAILBERICHT";                        $bericht = "<html>\n";            $bericht .= "<head>\n";            $bericht .= "<title>Contactformulier</title>\n";            $bericht .= "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">\n";            $bericht .= "<style>\n";            $bericht .= "table,body\n";            $bericht .= "{\n";            $bericht .= "      font-size: 11px;\n";            $bericht .= "      font-family: Helvetica, Arial;\n";            $bericht .= "}\n";            $bericht .= "</style>\n";            $bericht .= "</head>\n";                        $bericht .= "<body>\n";            $bericht .= nl2br(htmlspecialchars(stripslashes($_POST['bericht'])));            $bericht .= "</body>\n";            $bericht .= "</html>\n";                                    mail($naar, $onderwerp, $bericht, $headers);                  ?>

<html>


Hmm, heb je dit script in gebruik? Want volgens mij werkt het niet. Je mist namelijk 2x "}".
Op het eerste gezicht lijkt het script redelijk "veilig". Echter het script verstuurd naar jou toe een email met HTML opmaak. Hierdoor is het mogelijk om bijvoorbeeld een plaatje o.i.d. in het bericht te plakken, welke misschien een virus ofzo bevat.
Voor mij is de standaard regel dat er geen HTML email berichten worden verstuurd die door een contact formulier worden gegenereerd... Dus mijn advies is om het emailtje in "platte" tekst te laten versturen en de functie "htmlspecialchars" te vervangen door "htmlspecialchars_decode" .

Big fellow

“Success is not final, failure is not fatal: it is the courage to continue that counts.” ~ Winston Churchill

Link naar reactie
Delen op andere sites

Heren, mijn hartelijke dank!

 

@ Big Fellow,

Het script werkt wel. Er is al een aantal keren

gebruik van gemaakt. Ik zal je advies opvolgen

en de functie "htmlspecialchars" vervangen.

 

Groeten,

Alx

Ik ben allergisch voor pollen en mensen die regels uitvaardigen, maar er zichzelf niet aan houden.

 

Amstrad650D2Mac>>TF5000PVR>>etc.>>/DB7025+/TF5300KPN,VU+Duo Moteqc2100a-schotel 1mtr-X-Cam/Aston 1.05.

Link naar reactie
Delen op andere sites

Als dit script werkt dan heb je niet het gehele script gepost. Want echt zonder die twee "}" werkt het script niet.

Let op dat er in het deel van het script wat je niet hebt gepost ook "vreemde" dingen kunnen staan die voor jou misschien "normaal" zijn.....

 

Big fellow

“Success is not final, failure is not fatal: it is the courage to continue that counts.” ~ Winston Churchill

Link naar reactie
Delen op andere sites

@ Big Fellow,

 

Net even geprobeerd. Het werkte wel.

Op welke regels zou ik _decode moeten toevoegen?

(htmlspecialchars etcetc komt op drie regels voor.

Hartelijk dank,

Alx

Ik ben allergisch voor pollen en mensen die regels uitvaardigen, maar er zichzelf niet aan houden.

 

Amstrad650D2Mac>>TF5000PVR>>etc.>>/DB7025+/TF5300KPN,VU+Duo Moteqc2100a-schotel 1mtr-X-Cam/Aston 1.05.

Link naar reactie
Delen op andere sites

Maak een account aan of log in om te reageren

Je moet een lid zijn om een reactie te kunnen achterlaten

Account aanmaken

Registreer voor een nieuwe account in onze community. Het is erg gemakkelijk!

Registreer een nieuwe account

Inloggen

Heb je reeds een account? Log hier in.

Nu inloggen
  • Wie is er online   0 leden

    • Er zijn geen geregistreerde gebruikers deze pagina aan het bekijken
×
×
  • Nieuwe aanmaken...