Fråga
Jag har en webbsida i vilken jag har ett kontaktformulär, där den som vill ha kontakt med mig kan skicka ett e-postmeddelande. I formuläret framgår inte till vilken adress meddelandet skickas, men i källkoden till sidan står e-postadressen i klartext. Det händer att jag ibland får spammeddelanden på den adressen, men även att någon skriver ”nonsenstext” i fälten.
Mina frågor är:
1. Går det att på något sätt att skapa ett kontaktformulär där e-postadressen är dold? Min tanke är att det eventuellt skulle kunna ta bort ”spam” genom att adressen inte är tillgänglig. Eller är det bara en from förhoppning?
2. Går det att på något sätt kontrollera om det som finns i formulärfälten är ”nonsenstext” och ”nonsensadress” så att mejlet inte skickas iväg?
Kontaktformuläret är av den enkla varianten i en htmlsida och ser i princip ut som i koden nedanför (värdena för ”value” vid de tre första ”input type” är påhittade).
<div id="content">
<h2>Skriv ett mail om du vill kontakta mig</h2> <form method="post" action="http://www.rogpe.se/cgi-bin/FormMail.pl" > <fieldset> <input type="hidden" name="recipient" value="recipient@mail.se" /> <input type="hidden" name="subject" value="Subject" /> <input type="hidden" name="redirect" value="http://www.******.se/ny.html" />
<p>Ditt namn:<br /><input type="text" value="" name="Namn" size="20" /><br /></p> <p>Din e-postaddress:<br /><input type="text" value="" name="Mail" size="20" /><br /></p> <p>Meddelande:<br /><textarea name="Kommentar" cols="60" rows="15"> </textarea></p>
<p><input type="reset" value="Rensa" id="reset" /></p> <p><input type="submit" value="Skicka" id="submit" /></p> </fieldset> </form> </div>
Rolf Persson
Svar
1. Jag antar att detta är ett enkelt kontaktformulär som tillhandahålls av ditt webbhotell? Om du inte har rättighet att installera egna skript måste du nöja dig med vad som finns och Formmail visar tyvärr e-postadressen i html-koden.
En enkel utväg är använda ett verktyg som omvandlar e-postadressen till ASCII. Prova till exempel http://ctrlq.org/encode och du kan få en adress som ser ut som rappakalja, men fungerar lika bra som den ursprungliga. Det finns väl en chans att det finns spamspindlar som kan avkoda detta, men du är i alla fall lite säkrare.
Om du däremot får köra egna skript skulle jag rekommendera dig att installera ett annat. Du kan till exempel använda Bformmail, som är en utökad variant av Formmail med bland annat möjlighet att dölja mottagaradressen och en del andra antispamfunktioner: http://infosheet.com/bformmail.
2. Att upptäcka nonsenstext är svårt. Med det ovannämnda Bformmail kan du dock förbjuda vilka strängar du vill, liksom exempelvis html-taggar. Du kan också blockera vissa IP-adressområden.
Annars är standardmetoden för att undvika att kontaktformulär utnyttjas för annat än vad de är avsedda för att använda det som kallas Captcha. Det innebär oftast att användaren får se en bild med några tecken och ska skriva dessa i klartext för att bevisa att det är en människa och inte en robot som fyller i formuläret. Du hittar till exempel en sådan funktion i kommentarsfälten på www.datormagazin.se.
Om inte webbhotellet tillhandahåller något sådant krävs ånyo att du har rättighet att använda egna skript. Här hittar du till exempel en beskrivning på hur du kan infoga gratistjänsten Recaptcha i Formmail: https://developers.google.com/recaptcha/docs/formmail.
Dock kan du även i Formmail, som ditt webbhotell håller med, införa en kontroll av att angiven e-postadress är rimlig. En enkel kontroll finns inbyggd och det enda som krävs är att du byter namn på detta värde, från ”Mail” till ”email”.
___
****** Länk borttagen på grund av att sidan flaggats som malware.