Avatar billede mo- Novice
09. december 2011 - 19:28 Der er 12 kommentarer og
1 løsning

Spam-beskyttelse af e-mail adresse i FormMail ?

Hej eksperter,

Håber jeg skriver i den rigtige kategori denne gang.

Er der nogen, der kan hjælpe mig med at spam-beskytte min e-mail adresse i et FormMail script?  Således ser det ud (sætter kun linien med e-mail adressen): 

<input type="hidden" name="recipient" value="mail@dit-domæne.dk">

På forhånd mange tak.
Avatar billede claes57 Ekspert
09. december 2011 - 19:40 #1
du ved vel, hvem du er - så der er ingen grund til at have det felt - bare tilføj adressen i php lige før du sender mail.
Avatar billede mo- Novice
09. december 2011 - 20:23 #2
Hmm - undskyld, men jeg skal have det skåret ud i pap.

FormMailen er en fra one.com, som jeg skal bruge på min website, så evt. kunder kan kontakte mig.  Og jeg vil jo gerne undgå spam.

Jeg er overhovedet ikke god til det her, så hvis jeg kunne få lidt mere hjælp, ville jeg blive rigtig glad.
Avatar billede olebole Juniormester
09. december 2011 - 21:04 #3
<ole>

Du kan skrive din egen formmail (form med tilhørende script) - f.eks. med PhpMailer.

En anden mulighed er at slette recipient feltet i formen og sende til et eget PHP-dokument i stedet. Dette dokument, kan så samle de indtastede data - tilføje din e-mail-adresse som recipient - og åbne en socket mod din udbyders script.

Ingen af delene er helt ukompliceret, og hvis du ønsker en færdig løsning, vil jeg råde dig til at flytte spørgsmålet til kategorien Opgaver. Kategorien her er for 'Hjælp til selvhjælp'  =)

/mvh
</bole>
Avatar billede mo- Novice
10. december 2011 - 09:42 #4
Det lyder indvinklet ... for mig.  Vil det hjælpe, hvis jeg kopierer hele FormMail-scriptet og indsætter her?

Mie
Avatar billede mo- Novice
10. december 2011 - 09:43 #5
... "slåfejl" - der skulle have stået indviklet
Avatar billede claes57 Ekspert
10. december 2011 - 09:45 #6
bare vis hele koden...
Avatar billede mo- Novice
10. december 2011 - 09:54 #7
<FORM method="post" action="http://www.dit-domæne.dk/cgi-bin/FormMail.pl">
<input type="hidden" name="recipient" value="mail@dit-domæne.dk">
<input type="hidden" name="subject" value="Her kan du skrive en emne-tekst">
<input type="hidden" name="redirect" value="http://www.dit-domæne.dk/nyside.html">

Navn:<INPUT TYPE="TEXT" VALUE="" NAME="Navn" SIZE="20">
Efternavn:<INPUT TYPE="TEXT" VALUE="" NAME="Efternavn" SIZE="20">
Mail:<INPUT TYPE="TEXT" VALUE="" NAME="Mail" SIZE="20">
Kommentar:<TEXTAREA name="Kommentar" COLS="40" ROWS="7"> </TEXTAREA>

<INPUT TYPE="Reset" VALUE="Nulstil"><INPUT TYPE="Submit" VALUE="Send">
</form>
Avatar billede claes57 Ekspert
10. december 2011 - 12:06 #8
den form kan du så ikke bruge, da den kører til
dit-domæne.dk/cgi-bin/FormMail.pl
du skal lave en kontakt-formular som fx dette mellem stregerne
----------
<form method="post" action="kontakt.php" name="frm">
<table border="0" style="vertical-align:middle;">
<tr>
<td>Navn:</td>
<td><input name="navn" style="width:375px;" type="text"></td>
</tr>
<tr>
<td>E-mail:</td>
<td><span style="display: none;">nogo: <input name="email" type="text"></span><input name="epost" style="width:375px;" type="text"></td>
</tr>
<tr>
<td>Tlf:</td>
<td><input name="telefonnummer" style="width:375px;" type="text"></td>
</tr>
<tr>
<td>Emne:</td>
<td><input name="emne" style="width:375px;" type="text"></td>
</tr>
<tr valign="top">
<td>Besked:</td>
<td><textarea name="besked" style="width:375px; height:100px" rows="5" cols="40"></textarea></td>
</tr>
<tr>
<td colspan="2" style="text-align:right;" >Send en kopi til mig selv <input type="checkbox" name="kopi"></td>
</tr>
<tr>
<td colspan="2" style="text-align:right;" ><input value=" Send " type="submit"></td>
</tr>
</table>
</form>
----------

og så skal du have en kontakt.php, der sender (igen mellem stregerne) du skal kun tilrette de første 4 linjer
----------
<?php
$hjemmeside = "dit-domæne.dk";
$mail = "info@dit-domæne.dk";
$afsendermail = "noreply@dit-domæne.dk";
$viderestil = "http://dit-domæne.dk";

/* Her hentes oplysningerne fra de udfyldte felter */
$navn = $_REQUEST['navn'] ;
$email = $_REQUEST['email'] ;
$epost = $_REQUEST['epost'] ;
$besked = $_REQUEST['besked'];
$spamfaelde = $_REQUEST['spamfaelde'];
$kopi = $_REQUEST['kopi'];
$emne = $_REQUEST['emne'];
$telefonnummer = $_REQUEST['telefonnummer'];


/* Her tjekkes, om det skjulte spamfælde-felt er udfyldt */
if(!empty($email)) {
  echo "Du er havnet i formularens spamfælde. Det burde ikke være muligt at havne her ved et uheld, så skam dig!";
  exit ();
}

/* Her tjekkes, om der er forbudte tegn i felterne */

if(strpos($navn,'@')!==false || strpos($epost,'\\')!==false || strpos($emne,'\\')!==false || strpos($navn,'\\')!==false || strpos($fag,'\\')!==false || strpos($omraade,'\\')!==false || strpos($firmanavn,'\\')!==false || strpos($telefonnummer,'\\')!==false)
{
  echo "Formularen er ikke udfyldt korrekt, tryk på tilbage-knappen og prøv igen. Tjek, at du har skrevet din mail-adresse korrekt, og at du har skrevet den i det rigtige felt. Der må ikke være baglæns skråstreger (\) i felterne.";
  exit();
}

/* Her tjekkes, om afsenderen har indtastet sin mail-adresse, og i så fald bruges den som afsendeeradresse, så der kan svares på mailen */
if(!empty($epost)) {
  $headers="From: $navn <$epost>\r\n";
}
else {
  $headers="From: Kontaktformular <$afsendermail>\r\n";
}

/* Her indsættes din mailadresse, så afsenderen kan svare på kopimailen */
$formularheaders="From: $hjemmeside <$afsendermail>\r\n";

/* Her samles afsenderens navn, mailadresse og besked i en enkelt variabel */
$oplysninger="Følgende er sendt via kontaktformularen på $hjemmeside:\r\n\r\nNavn: $navn\r\nE-mail: $epost\r\nTlf: $telefonnummer\r\nBesked:\r\n$besked";

/* Her samles oplysningerne til afsenderens kopi af mailen */
$kopimail="Hej $navn\r\nDu har sendt følgende via kontaktformularen på $hjemmeside:\r\n$besked";

/* Her sendes til modtageradressen */
mail($mail, $emne, $oplysninger, $headers);

if ($kopi > '') {
  /* Her sendes en kopimail til afsenderen */
  mail($epost, $emne, $kopimail, $formularheaders);
}

/* Når mailen er sendt, viderestilles til denne hjemmeside */
header( "Location: $viderestil" );
exit;
?>
----------
Avatar billede mo- Novice
10. december 2011 - 13:03 #9
WOW - TUSINDE TAK, det ser rigtigt godt ud. Nu skal jeg bare have fundet ud af, hvordan jeg laver en php-fil.  På mit domæne er der noget, der hedder phpMyAdmin - det vil jeg se, om jeg kan finde ud af.
Avatar billede mo- Novice
10. december 2011 - 14:04 #10
Mit første forsøg - jeg kopierede php i et txt-dokument og importerede det:
-------------
Error
There seems to be an error in your SQL query. The MySQL server error output below, if there is any, may also help you in diagnosing the problem

ERROR: Unknown Punctuation String @ 1
STR: <?
SQL: <?php
$hjemmeside = "xxxxxx-xxxx.dk";


SQL query:


MySQL said: 

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '<?php
$hjemmeside = "xxxxxx-xxxx.dk"' at line 1
---------------------
Avatar billede claes57 Ekspert
10. december 2011 - 15:25 #11
der er slet ikke noget sql i koden - hele stykket kopiere du til fx notebook, og gemmer som kontakt.txt - herefter i stifinder retter du navnet til kontakt.php og placerer filen samme sted på domænet, som din kontaktformular er.

Det kan dog være, at du slet ikke har php på domænet - men så skal det laves i asp - det må du lige høre din udbyder om.
Avatar billede mo- Novice
10. december 2011 - 16:28 #12
TUSINDE, TUSINDE, TUSINDE TAK, claes57 :-) Det virker PERFEKT, når jeg omdøber og uploader php-filen!
Hvor ER du dygtig. Jeg er MEGET glad for din store hjælp :-)

Lægger du et svar?

Rigtig god jul og godt nytår - og endnu en gang TUSINDE MANGE TAK for hjælpen fra en glad

Mie :-)
Avatar billede claes57 Ekspert
10. december 2011 - 16:35 #13
ok, og tak for roserne...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester