Avatar billede detdaforvildt Nybegynder
30. oktober 2004 - 00:29 Der er 19 kommentarer og
1 løsning

Formmail uden e-mail i kildekoden?

Hej

Er det muligt at fikse en formmail med selvvalgte elementer, men uden at ens email-adresse kan ses i kildekoden?
(for at undgå spam-bots)
Og i så fald - hvordan?
Avatar billede amews_aj Nybegynder
30. oktober 2004 - 00:51 #1
Nu ved jeg ikke om det er nok, men du kunne jo gøre sådan her hvis det var php


$til = "dit(A)domain.dk";
$til = str_replace("(A)", "@", $til);
Avatar billede detdaforvildt Nybegynder
30. oktober 2004 - 01:23 #2
Jeg er lidt af et skvadderhoved når det kommer til kode... Men jeg bruger på nuværende tidspunkt ren html...
med følgende

<Form...

<INPUT type="hidden" name="redirect" value="http://www.hjemmeside.eksempel/kontakt_tak.htm">
<INPUT type="hidden" name="subject" value="Overskrift">
<INPUT type="hidden" name="fromaddress" value="e@mail.eksempel">

<INPUT type="hidden" name="recipient" value="e@mail.eksempel">


Men det er jo ikke smart, da det mailen "e@mail.eksempel" kan ses i kildenkoden og dermed bøffes af irriterende spammere
Avatar billede Slettet bruger
30. oktober 2004 - 07:59 #3
Det har du jo ret i, men den helt korrekte løsning er at bruge en formmail, der kan sættes op, så den altid sender til din adresse. Det kræver PHP eller ASP eller lignende.

Hvis du ikke har mulighed for at bruger serverside scripting, kunne en mulighed være et hack, som udnytter at normale spambots ikke forstår javascript. Det kunne se sådan ud:

<input type="hidden" id="recipient" name="recipient" value="">
<script type='text/javascript'>
var adresse='brugernavn' + '@' + 'servernavn';
document.getElementById('recipient').value=adresse;
</script>

Det skjuler godt nok ikke adressen for mennesker, men en spammer går heller ikke rundt og leder efter adresser selv.
Avatar billede miko67 Nybegynder
30. oktober 2004 - 09:03 #4
sandbox --> når jeg prøver dit script får jeg følgende besked:

Method Not Allowed
The requested method POST is not allowed for the URL /mailto.
--------------------------------------------------------------------------------
Apache/1.3.29 Server at frac.dk Port 80

Er det korrekt opfattet at der er "nogo" på denne metode på mit hotel?  (frac.dk)
Eller har jeg bare lavet en tåbefejl :)  ?
Avatar billede boris Mester
30. oktober 2004 - 09:14 #5
Du kan jo finde et eksempel på en php-formmail, f.eks. http://codewalkers.com/forum/index.php?action=displaythread&forum=tutorials&id=139&realm=default
Det forudsætter bare at webhotellet har PHP
Avatar billede Slettet bruger
30. oktober 2004 - 09:21 #6
miko67: Hvis du bruger en mailto: som action på din form er det formens action, du skal ændre med JavaScript og især skal du lave URLen korrekt. Min kode var beregnet på en formular, der postes til et script på en server.
Avatar billede miko67 Nybegynder
30. oktober 2004 - 14:16 #7
sandbox --> Du skrev godt nok:
"Hvis du ikke har mulighed for at bruger serverside scripting..."
Er der forskel på ovenstående citat og så:
"en formular, der postes til et script på en server"?

for så er jeg da lost... Det er jeg nu alligevel ;) Jeg er nemlig også et "skvadderhovede" til kode.

detdaforvildt --> har du fået hvad du kom efter? Ellers vil jeg tilslutte mig ønsket om en "for dummies"-forklaring :)
Avatar billede Slettet bruger
30. oktober 2004 - 20:12 #8
Ja, der er lidt forskel. Mange udbydere tilbyder at man kan bruge et formmail-script, som de stiller til rådighed (men uden at give mulighed for at man selv kan lave scripts på serveren), og det kræver så at modtageradressen er angivet i et af felterne. Det var det, mit oprindelige svar gik på.

Din situation er lidt anderledes, for du bruger ikke et sådant script, men en formular med <form action='mailto:adresse'>. Derfor vil mit forslag skulle skrives om, for at du kan bruge det. Jeg bruger ikke ret tit JavaScript selv, og jeg hoster selv mine egne sider, så jeg har ikke haft brug for at ændre action på en form, men måske kan du bruge dette:

<form id='mailform' action=''>
<script type='text/javascript'>
var adresse='mailto:brugernavn' + '@' + 'servernavn';
document.getElementById('mailform').action=adresse;
</script>
Avatar billede detdaforvildt Nybegynder
31. oktober 2004 - 18:44 #9
Sandbox: Det lader til at dit script virker, men hvordan kan jeg som "dum script-copy-paste forbruger" vide, at mailbots ikke ser mail-adressen nu - blot pga af dette script?
Avatar billede miko67 Nybegynder
31. oktober 2004 - 18:55 #10
Sandbox --> Jeg fik også det hele til at virke uden problemer. Stor ros og tak for hjælpen.

Havde samme overvejelse som detdaforvildt, men formoder ikke at man kan gøre ret meget mere uden at skulle skifte til en mere kompliceret model á la en php-løsning.

Jeg tror egentlig heller ikke det er nødvendigt at gøre mere... det er lidt som at ville blæse og ha' mel i munden, når man vil lade folk kunne kontakte sig uden at de må kunne se hvor man bor - om man så må sige.
Avatar billede detdaforvildt Nybegynder
31. oktober 2004 - 19:06 #11
miko67: hehe... det kan der være noget om.

Anyway - hvis Sandbox vil modtage de 30p, må du lige smide et svar ;)

Og tak for det!
Avatar billede Slettet bruger
31. oktober 2004 - 21:34 #12
De fleste adressehøstere analyserer ikke siden for alvor. De leder bare efter hvadsomhelst, der ligner en emailadresse. Mange af dem har ikke engang styr på hvilke tegn, der er tilladt i en emailadresse, så de "klipper den af" det forkerte sted. En pæn del af den spam, jeg får på min mailserver, er sendt til en adresse, der aldig har eksisteret, men som har været en del af MessageID på mails fra mig, som er tilgængelige på nettet.

I dette tilfælde udnytter vi, at uanset hvor dårligt analysearbejde en spambot laver, vil den dog vide, at mellemrum ikke er gyldige i en mailadresse, og den vil sandsynligvis også indse at '@' ikke kan være gyldig (og ellers kan de da bare prøve at sende en mail til '@' - fint med mig, hvis deres maskiner bruger kræfter på en ugyldig adresse.)

Alt dette betyder dog ikke, at der ikke med tiden vil komme smartere adressehøstere, som kan tyde JavaScript, så jeg vil ikke garantere, at den vil virke i al fremtid.
Avatar billede roenving Novice
01. november 2004 - 03:19 #13
-- og en løsning, som er lige så simpel som sandbox':

I kan selvfølgelig <a href="#" onclick="this.href='mai'+'lto'+':roe'+'nvi'+'ng\100'+'gma'+'il.'+'com'">maile</a> til mig, hvis I har spørgsmål eller lignende !-)
</div>
Avatar billede miko67 Nybegynder
01. november 2004 - 10:51 #14
roenving --> Stor respekt for klokkeslettet du responderer på :)

- dernæst... ingen af Jeres ellers meget smukke, simple løsninger ville alligevel helt som jeg gerne så de skulle virke, dette sker selvfølgelig (vil jeg tro) fordi jeg ikke fra starten gav al den info der skulle til, så her kommmer min kode:

<table border="0" width="643">
<tr>
<td width="58%">
<form method="POST" action="mailto:miko67@frac.dk"
enctype="text/plain">
<div align="center"><center>
</center></div><table width="643">
<tr>
<td width="128">Fornavn:</td>
<td width="507"><input type="text" name="Fornavn" size="35" maxlength="30"></td>
</tr>
<tr>
<td width="128">Efternavn:</td>
<td width="507"><input type="text" name="Efternavn" size="35" maxlength="40"></td>
</tr>
<tr>
<td width="128">E-Mail:</td>
<td width="507"><input type="text" name="E_mail" size="35" maxlength="50"></td>
</tr>
<tr>
<td width="128">Webside:</td>
<td width="507"><input type="text" name="Web_side" size="35" maxlength="50"></td>
</tr>
<tr>
<td width="128">Postnr.:</td>
<td width="507"><input type="text" name="Postnr" size="5" maxlength="50">&nbsp;&nbsp; By: <input
type="text" name="By" size="25" maxlength="50"></td>
</tr>
<tr>
<td valign="top" width="128">Kommentarer:</td>
<td width="507"><textarea name="Kommentar" COLS="51" ROWS="9">
</textarea></td>
</tr>
<tr>
<td width="128"></td>
<td width="507"><input type="submit" value="Send formular" style="font-size: smaller"> <input
type="reset" value="Forfra"> </td>
</tr>
</table>
</form>
</td>
</tr>
</table>

Og så er det mit spørgsmål går på; Hvordan enten Sandbox's eller Roenving's løsning kan sættes ind i/ udskiftes med ovenstående således at den tekst som den besøgende har indtastet også kommer med i mail'en?

Jeg har prøvet begge løsninger, og vil meget gerne arbejde videre med begge løsninger. Hvis vi lander på et godt resultat synes jeg faktisk det er en lille artikel værd :) (som jeg godt vil bruge tiden på at skrive når jeg har fået den nødvendige om ikke fulde forståelse af problemstillingerne).
Al kritik i øvrigt modtages med glæde.
Jeg er godt klar over at det ikke er mit point-spørgsmål, måske "detdaforvildt" er med os endnu... jeg synes vi skal holde hele problemstillingen samlet i én tråd, men vil såmænd godt spæde lidt til... just say the word
Avatar billede roenving Novice
01. november 2004 - 15:31 #15
Sådan noget ?-)

<form method="POST" action="" onsubmit="this.action='mai'+'lto'+':mik'+'o67'+'\100fra'+'c.dk"
enctype="text/plain">
Avatar billede miko67 Nybegynder
01. november 2004 - 15:48 #16
..den siger godt nok stadig:
Method Not Allowed
The requested method POST is not allowed for the URL /mailto.
--------------------------------------------------------------------------------
Apache/1.3.29 Server at frac.dk Port 80
Avatar billede miko67 Nybegynder
01. november 2004 - 15:49 #17
- idet jeg går ud fra at det er disse to linjer jeg blot skulle erstatte med roenving's:
<form method="POST" action="mailto:miko67@frac.dk"
enctype="text/plain">
Avatar billede Slettet bruger
01. november 2004 - 15:59 #18
Har du husket : ?

Så må det være din browser, som ikke understøtter mailto-protokollen på en formular, og derfor forsøger at bruge http.
Avatar billede roenving Novice
01. november 2004 - 16:08 #19
Prøv at fjerne post ...

<form action="" onsubmit="this.action='mai'+'lto'+':mik'+'o67'+'\100fra'+'c.dk" enctype="text/plain">
Avatar billede miko67 Nybegynder
01. november 2004 - 16:11 #20
..husket:?  -  det ved jeg skis'me ikke :) jeg har copy-pastet som det står her.

Browswerunderstøttelse af mailto-protokollen... den virker i den kode jeg har lagt op (01/11-2004 10:51:12). Browser: IE6
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