/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Mailform
Fra : Mark Thomas Gazel


Dato : 28-06-06 15:46

Hej

Findes der en god open source mailform med mulighed for at sende til
forskellige modtagere?

Dem jeg har kunnet finde var bare med én modtager.

Det vil sige fx en dropdown, hvor man vælger:

chef
regnskab
reklame
klager

Og videre i den dur.

Mailadresserne skal selvfølgelig være så sikrede som overhovedet muligt, men
plejer de jo at være med en php-form.

På forhånd tak.


--
Med venlig hilsen

Mark

http://mark.gazel.dk/






 
 
Dennis Munding (28-06-2006)
Kommentar
Fra : Dennis Munding


Dato : 28-06-06 17:03

Hej Mark!
"Mark Thomas Gazel" <markgazel@hotmail.com> skrev i en meddelelse
news:355e9$44a29629$3e3d8e23$27544@news.arrownet.dk...
> Hej
>
> Findes der en god open source mailform med mulighed for at sende til
> forskellige modtagere?
>
> Dem jeg har kunnet finde var bare med én modtager.
>
> Det vil sige fx en dropdown, hvor man vælger:
>
> chef
> regnskab
> reklame
> klager
>
> Og videre i den dur.
>
> Mailadresserne skal selvfølgelig være så sikrede som overhovedet muligt,
> men plejer de jo at være med en php-form.
>
> På forhånd tak.

Nu er jeg ikke en ørn til PHP, men det burde kunne laves ud fra navnene i
dit select-tag:

<select name="modtager">
<option value="chef" name/id="chef">Chef</option> // (kan ikke huske, om
name eller id er tilladt i et option-tag....?)
<option...>Regnskab</option>
o.s.v.
</select>

Og i filen der modtager outputtet:

if ($_POST['modtager'] == 'chef') {
$modtager = "mail-adresse@til-chefen.dk";
} elseif {
($_POST['modtager'] == 'regnskab') {
$modtager = mail-adresse@til-regnskab.dk;
} else {
$modtager = mail-adresse@til-sidste-valgmulighed.dk;
}

Noget i den stil - ovenstående er ikke testet, og jeg er ikke 100% sikker
på, at det er korrekt opstillet...


Med venlig hilsen
--
Dennis Munding
Web-master
http://www.skovaa-munding.dk/, http://www.mundings-memorial.dk/
http://www.cantica.dk/, http://www.pe-vagtservice.dk/,
http://www.eds-denmark.dk/



Dan Storm (29-06-2006)
Kommentar
Fra : Dan Storm


Dato : 29-06-06 07:32

Dennis Munding skrev:
> <select name="modtager">
> <option value="chef" name/id="chef">Chef</option> // (kan ikke huske, om
> name eller id er tilladt i et option-tag....?)
ID er okay, name er ikke. name attributtet må kun ligge i <select> delen.


--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

ThomasB (28-06-2006)
Kommentar
Fra : ThomasB


Dato : 28-06-06 22:28

"Mark Thomas Gazel" <markgazel@hotmail.com> skrev i en meddelelse
news:355e9$44a29629$3e3d8e23$27544@news.arrownet.dk...

> Mailadresserne skal selvfølgelig være så sikrede som overhovedet muligt,
> men plejer de jo at være med en php-form.

Hej Mark.

Her kommer et jeg lige har bikset sammen. Det er ikke testet.

Mvh Thomas

<?php
if ($todo=="go"){

if ($type == "chefen"){$til = "chefen@firma.dk";}
if ($type == "regnskab"){$til = "regnskab@firma.dk";}

$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
$headers .= "From: HJEMMESIDEN <hjemmesiden@hjemmesiden.dk>\n";

mail($til, $emne, $besked, $headers);

print "Din meddelelse er sendt til $type";

}else{
?>
<form action="?todo=go" method="post">
<input type="text" name="emne"><br>
<textarea name="besked"></textarea><br>
<select name="type">
<option value="chefen">Chefen</option>
<option value="regnskab">Regnskab/option>
</select><br>
<input type="submit" value="Send besked">
</form>
<?php}?>




Dan Storm (29-06-2006)
Kommentar
Fra : Dan Storm


Dato : 29-06-06 07:30

ThomasB skrev:
> Hej Mark.
>
> Her kommer et jeg lige har bikset sammen. Det er ikke testet.
>
> Mvh Thomas
>
[snip slamkode]

Så, Thomas, nu har vi allerede konstateret en gang tidligere at din kode
er håbløst forældet. Den er sikkerhedsmæssigt ikke forsvarlig og
syntaksen ligner noget fra PHP3's tid.

Du bør sætte dig ind i PHP's prædefinerede variabler og konstanter.
Eventuelt kigge lidt mere på register_globals (google)

Dine idéer er gode, men din kode er forældet.


--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

ThomasB (29-06-2006)
Kommentar
Fra : ThomasB


Dato : 29-06-06 15:22

"Dan Storm" <shadyz@_REMOVETHIS_err0r.dk> skrev i en meddelelse
news:44a37304$0$90496$edfadb0f@dread11.news.tele.dk...
>> Her kommer et jeg lige har bikset sammen. Det er ikke testet.
>>
>> Mvh Thomas
>>
> [snip slamkode]

> Dine idéer er gode, men din kode er forældet.

Du er vist et værre vrøvlehoved. Min kode virker for det første, og for det
andet er den fuldstændig sikker og uptodate.

Hvad med http://err0r.dk/? Hvor bliver dine å'er af? Slamkode? Og hvad med
java-fejlen?

Hvis du endelig skal kritisere min kode, så gør det konstruktivt og forklar
præcist hvis du mener er galt.





Dan Storm (29-06-2006)
Kommentar
Fra : Dan Storm


Dato : 29-06-06 18:08

ThomasB skrev:
> Du er vist et værre vrøvlehoved. Min kode virker for det første, og for det
> andet er den fuldstændig sikker og uptodate.
Aha...

> Hvad med http://err0r.dk/? Hvor bliver dine å'er af? Slamkode? Og hvad med
> java-fejlen?
Har lige haft serverskifte, så derfor er mine æøå'er forsvundet - har
bare ikke lige gidet at rette mine artikler.
Javascriptfejl? Ikke en jeg har set i FF. Men jeg værdsætter at der er
en som gør mig opmærksom på mine fejl.

> Hvis du endelig skal kritisere min kode, så gør det konstruktivt og forklar
> præcist hvis du mener er galt.

<?php
if ($todo=="go"){ //kræver at register_globals er sat til on, hvilket
allerede er sikkerhedsmæssigt uforsvaligt.

if ($type == "chefen"){$til = "chefen@firma.dk";} //ustruktureret
if ($type == "regnskab"){$til = "regnskab@firma.dk";} //ustruktureret
// se evt. <url: http://www.cprogramming.com/tutorial/style.html>

$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
// hvorfor tillade HTML til mailen?
$headers .= "From: HJEMMESIDEN <hjemmesiden@hjemmesiden.dk>\n"; //Brug
\r\n af kompatibilitetsårsager

mail($til, $emne, $besked, $headers); //kontrol af afsendelse ville være
på sin plads

print "Din meddelelse er sendt til $type";
/* Hvorfor udskrive mailadressen, når det var netop det trådstarter
ville undgå?
En simpel bekræftelse ville være bedre
*/

}else{
?>
<form action="?todo=go" method="post">
<!-- Brug $_SERVER variabler, for ellers vil PHP kræve at
regiister_globals var sat til on - igen, sikkerhed! -->
<input type="text" name="emne"><br>
<textarea name="besked"></textarea><br>
<select name="type">
<option value="chefen">Chefen</option>
<option value="regnskab">Regnskab/option>
</select><br>
<input type="submit" value="Send besked">
</form>
<?php}?>

Det er konstruktiv kritik og er ikke noget fra et 'vrøvlehoved'.

--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

ThomasB (29-06-2006)
Kommentar
Fra : ThomasB


Dato : 29-06-06 20:35

"Dan Storm" <shadyz@_REMOVETHIS_err0r.dk> skrev i en meddelelse
news:44a40897$0$90522$edfadb0f@dread11.news.tele.dk...
>> Du er vist et værre vrøvlehoved. Min kode virker for det første, og for
>> det andet er den fuldstændig sikker og uptodate.
> Aha...

Nemlig.

>> Hvad med http://err0r.dk/? Hvor bliver dine å'er af? Slamkode? Og hvad
>> med java-fejlen?
> Har lige haft serverskifte, så derfor er mine æøå'er forsvundet - har bare
> ikke lige gidet at rette mine artikler.
> Javascriptfejl? Ikke en jeg har set i FF. Men jeg værdsætter at der er en
> som gør mig opmærksom på mine fejl.

Prøv IE.

>> Hvis du endelig skal kritisere min kode, så gør det konstruktivt og
>> forklar præcist hvis du mener er galt.
>
> <?php
> if ($todo=="go"){ //kræver at register_globals er sat til on, hvilket
> allerede er sikkerhedsmæssigt uforsvaligt.

Hvorfor har 95% af alle webhoteller så register_globals sat til on?

> if ($type == "chefen"){$til = "chefen@firma.dk";} //ustruktureret
> if ($type == "regnskab"){$til = "regnskab@firma.dk";} //ustruktureret
> // se evt. <url: http://www.cprogramming.com/tutorial/style.html>

Skrevet sådan for at give Mark et overblik.

> $headers = "MIME-Version: 1.0\n";
> $headers .= "Content-type: text/html; charset=iso-8859-1\n";
> // hvorfor tillade HTML til mailen?

Det kan være meget rart at kunne formatere teksten i mailen, så den ser
lækker ud.

Desuden kan man så også smide en editor på.

> $headers .= "From: HJEMMESIDEN <hjemmesiden@hjemmesiden.dk>\n"; //Brug
> \r\n af kompatibilitetsårsager

Ja, det har du ret i. Dog har jeg tit oplevet problemer med OE når man
smider \r\n ind.

> mail($til, $emne, $besked, $headers); //kontrol af afsendelse ville være
> på sin plads

Ja, det kunne man gøre.

> print "Din meddelelse er sendt til $type";
> /* Hvorfor udskrive mailadressen, når det var netop det trådstarter ville
> undgå?
> En simpel bekræftelse ville være bedre
> */

Den skriver heller ikke mailadressen, men derimod afdelingen ($type):
"Din meddelelse er sendt til chefen."

> }else{
> ?>
> <form action="?todo=go" method="post">
> <!-- Brug $_SERVER variabler, for ellers vil PHP kræve at
> regiister_globals var sat til on - igen, sikkerhed! -->

95% af alle webhotellerne har som sagt register_globals sat til on og ja
sikkerheden bliver så også det ringere - men helt ærligt - vi taler om et
simpelt mailscript.

Du kan jo prøve om du kan "hacke" mit script - nu har du også kilden

> <input type="text" name="emne"><br>
> <textarea name="besked"></textarea><br>
> <select name="type">
> <option value="chefen">Chefen</option>
> <option value="regnskab">Regnskab/option>
> </select><br>
> <input type="submit" value="Send besked">
> </form>
> <?php}?>
>
> Det er konstruktiv kritik og er ikke noget fra et 'vrøvlehoved'.

Ja, det var meget bedre og mere konstruktivt end "slamkode" og "forældet".







Michael Rasmussen (29-06-2006)
Kommentar
Fra : Michael Rasmussen


Dato : 29-06-06 21:40

On Thu, 29 Jun 2006 21:35:00 +0200, ThomasB wrote:

>
> Du kan jo prøve om du kan "hacke" mit script - nu har du også kilden
>
Det skulle være den mindste kunst. Send alle informationer via URL
(get), og dit script er det perfekte spamhotel!

--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917


Dan Storm (29-06-2006)
Kommentar
Fra : Dan Storm


Dato : 29-06-06 22:11

ThomasB skrev:
> Prøv IE.
En fejl i forbindelse med import af min database. Import har fjernet
mine æøå'er og sat slashes på mine apostroffer. Men tak for heads-up.
Fejlen er nu rettet.

> Hvorfor har 95% af alle webhoteller så register_globals sat til on?
Oplysningen er baseret på hvad?
>
>> if ($type == "chefen"){$til = "chefen@firma.dk";} //ustruktureret
>> if ($type == "regnskab"){$til = "regnskab@firma.dk";} //ustruktureret
>> // se evt. <url: http://www.cprogramming.com/tutorial/style.html>
> Skrevet sådan for at give Mark et overblik.
Definer overblik?
Jeg synes at pæn og strukturet kode giver et godt overblik.

> Det kan være meget rart at kunne formatere teksten i mailen, så den ser
> lækker ud.
Du mener at HTML injection i emails ikke udgør nogen sikkerhedsrisiko?
Eller vil du lave noget validering af input?

> Ja, det har du ret i. Dog har jeg tit oplevet problemer med OE når man
> smider \r\n ind.
Okay? Har ikke hørt det før, men kan naturligvis ikke afvise at du
oplever det.

> Den skriver heller ikke mailadressen, men derimod afdelingen ($type):
> "Din meddelelse er sendt til chefen."
Sorry, så mig blind på koden.

> 95% af alle webhotellerne har som sagt register_globals sat til on og ja
> sikkerheden bliver så også det ringere - men helt ærligt - vi taler om et
> simpelt mailscript.
Igen, jeg tror det er et procenttal der er grebet ud af luften. Det er
sjældent man som standard har sat register_globals = On på webhoteller.
Men der skal altså heller ikke meget til før 'et simpelt' mailscript kan
være skadeligt for ejeren, brugeren eller serveren.

> Du kan jo prøve om du kan "hacke" mit script - nu har du også kilden

mailscript.php?todo=go&til=dinmail@fordiduskalhavespam.dk&besked=html_besked&header=bcc_modtagere_ad_libitum

Sværere er det ikke.

> Ja, det var meget bedre og mere konstruktivt end "slamkode" og "forældet".
Der skal ikke herske tvivl om at jeg stadig synes din kode er forældet.
Min personlige holdning til at det er noget slamkode hænger sammen med
at din kode ikke er sikkerhedsmæssig forsvarlig og strukturen er ikke
særlig pæn eller overskuelig. Men hvis du har nemmere ved at overskue
det som du har sat det sammen, er det jo ikke slamkode for dig.

Men beklager hvis du har følt dig stødt.


--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

ThomasB (30-06-2006)
Kommentar
Fra : ThomasB


Dato : 30-06-06 11:07

"Dan Storm" <shadyz@_REMOVETHIS_err0r.dk> skrev i en meddelelse
news:44a4418b$0$90481$edfadb0f@dread11.news.tele.dk...

>> Hvorfor har 95% af alle webhoteller så register_globals sat til on?
> Oplysningen er baseret på hvad?

At jeg har sider liggende på stort set alle de største webhoteller.

>>> if ($type == "chefen"){$til = "chefen@firma.dk";} //ustruktureret
>>> if ($type == "regnskab"){$til = "regnskab@firma.dk";} //ustruktureret
>>> // se evt. <url: http://www.cprogramming.com/tutorial/style.html>
>> Skrevet sådan for at give Mark et overblik.
> Definer overblik?
> Jeg synes at pæn og strukturet kode giver et godt overblik.

Jeg synes oneliners er gode når man skal give ikke-kodekyndige et overblik.
Hvis "man" ikke er tilfreds, så findes der masser af gode beautifiers

>> Det kan være meget rart at kunne formatere teksten i mailen, så den ser
>> lækker ud.
> Du mener at HTML injection i emails ikke udgør nogen sikkerhedsrisiko?
> Eller vil du lave noget validering af input?

Jo sikkert, og man kan jo sådan set gøre alt til et problem.

>> 95% af alle webhotellerne har som sagt register_globals sat til on og ja
>> sikkerheden bliver så også det ringere - men helt ærligt - vi taler om et
>> simpelt mailscript.
> Igen, jeg tror det er et procenttal der er grebet ud af luften. Det er
> sjældent man som standard har sat register_globals = On på webhoteller.
> Men der skal altså heller ikke meget til før 'et simpelt' mailscript kan
> være skadeligt for ejeren, brugeren eller serveren.

Det eneste store webhotel jeg lige kan komme i tanke om der har r_g=off er
b-one - og det er ikke engang på alle deres servere.

>> Du kan jo prøve om du kan "hacke" mit script - nu har du også kilden
>
> mailscript.php?todo=go&til=dinmail@fordiduskalhavespam.dk&besked=html_besked&header=bcc_modtagere_ad_libitum
>
> Sværere er det ikke.

Hehe ja, jeg så det godt

$til = ""; (prøv nu)

Du får i øvrigt ikke lov til at sende flere headere med, da den første
header er = og ikke =.

>> Ja, det var meget bedre og mere konstruktivt end "slamkode" og
>> "forældet".
> Der skal ikke herske tvivl om at jeg stadig synes din kode er forældet.
> Min personlige holdning til at det er noget slamkode hænger sammen med at
> din kode ikke er sikkerhedsmæssig forsvarlig og strukturen er ikke særlig
> pæn eller overskuelig.

Jeg skrev selv at det var noget jeg lige havde bikset sammen - det er ikke
til at misforstå

> Men hvis du har nemmere ved at overskue det som du har sat det sammen, er
> det jo ikke slamkode for dig.

Jeg synes du overdriver når du kalder min kode slamkode.

> Men beklager hvis du har følt dig stødt.

Det er ok



Peter Brodersen (30-06-2006)
Kommentar
Fra : Peter Brodersen


Dato : 30-06-06 01:58

On Thu, 29 Jun 2006 19:08:00 +0200, Dan Storm
<shadyz@_REMOVETHIS_err0r.dk> wrote:

><?php
>if ($todo=="go"){ //kræver at register_globals er sat til on, hvilket
>allerede er sikkerhedsmæssigt uforsvaligt.

Hvis man mener, at register_globals sat til er "sikkerhedsmæssigt
uforsvarligt", så har man ikke styr over sin kode.

Der er ingen grund til at have den slået til, men den udgør kun en
sikkerhedsmæssig risiko ved meget, meget uhensigtsmæssig kode, som
normalt bliver opdaget af notice-rapporteringer.

Det er dog tilfældet i det her script

>if ($type == "chefen"){$til = "chefen@firma.dk";} //ustruktureret
>if ($type == "regnskab"){$til = "regnskab@firma.dk";} //ustruktureret
>// se evt. <url: http://www.cprogramming.com/tutorial/style.html>

Det er et spørgsmål om religion. Det er ikke, hvad jeg ville have
gjort, men der er så meget andet, der kan hidse mig op.

>$headers = "MIME-Version: 1.0\n";
>$headers .= "Content-type: text/html; charset=iso-8859-1\n";
>// hvorfor tillade HTML til mailen?

Det afhænger af beskedens indhold og natur. Jeg ville altid foretrække
at man sendte multipart/alternative, hvis der skal sendes HTML med.

I det hele taget, hvis der skal sendes mail, så er det at foretrække
at bruge en dertil indrettet klasse. At bruge mail() direkte giver
problemer i længden.

>$headers .= "From: HJEMMESIDEN <hjemmesiden@hjemmesiden.dk>\n"; //Brug
>\r\n af kompatibilitetsårsager

Nej, der skal ikke være newlines her, idet det er den sidste header.
Det kan give en ekstra newline. Det har dog mindre betydning, når
outputtet er HTML.

>print "Din meddelelse er sendt til $type";
>/* Hvorfor udskrive mailadressen, når det var netop det trådstarter
>ville undgå?
>En simpel bekræftelse ville være bedre
>*/

Mailadressen udskrives ikke.

Det er dog et problem, at der ikke tjekkes at $type overhovedet er én
af de to ønskede, men at man ikke afbryder, hvis $type ikke er én af
de ønskede.

Her er det muligt at vælge en anden $type, og så selv sætte sin $til.
Det giver spammuligheder.

Derudover printes $type også uden videre, hvilket kan give mulighed
for cross-site-scripting-stunts.

>}else{
>?>
><form action="?todo=go" method="post">
><!-- Brug $_SERVER variabler, for ellers vil PHP kræve at
>regiister_globals var sat til on - igen, sikkerhed! -->

Hvor kommer $_SERVER ind i billedet i den her del af koden?

>Det er konstruktiv kritik og er ikke noget fra et 'vrøvlehoved'.

Ditto.

--
- Peter Brodersen
Ugens^WMånedens^WSommerens værktøj - Find vej: www.findvej.dk
Nu med link direkte til en adresse, fx: www.findvej.dk/Nybrogade2,1203

Dan Storm (29-06-2006)
Kommentar
Fra : Dan Storm


Dato : 29-06-06 07:49

Mark Thomas Gazel skrev:
[snip]
Her er lidt du måske kan bruge. Nemt at redigere i, nemt at se idéen i.

<?php


if(isset($_POST['sendmail']))
{
   $mails = array(1 => "storm@err0r.dk", 2 => "regnskab@firma.dk", 3 =>
"reklame@firma.dk", 4 => "klager@firma.dk");
   
   $body = "";
   $body .= "Der er sendt en mail fra firma.dk\r\n"   ;
   $body .= "Afsender: ".strip_tags($_POST['email'])."\r\n\r\n";
   $body .= "Meddelelsen er som følger:\r\n";
   $body .= strip_tags($_POST['body'])."\r\n\r\n";
   
   $headers = "From: firma.dk <noreply@firma.dk>\r\n";
   
   
      if(@mail($mails[$_POST['mailto']], strip_tags($_POST['subject']),
$body, $headers))
      {
         echo 'Din besked er blevet afsendt.';
      }
}
else
{
echo '
<form action="'.$_SERVER['PHP_SELF'].'" method="post">
<div>
<input type="hidden" name="sendmail" value="TRUE" />
Modtager:<br />
<select name="mailto">
<option value="1">Chefen</option>
<option value="2">Regnskab</option>
<option value="3">Reklame</option>
<option value="4">Klager</option>
</select><br />
Din email:<br />
<input type="text" name="email"><br />
Emne<br />
<input type="text" name="subject"><br />
Besked:<br />
<textarea name="body"></textarea><br />
<input type="submit" name="send" value="Send besked">
</div>
</form>
';

}

?>
   

--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

Mark Thomas Gazel (29-06-2006)
Kommentar
Fra : Mark Thomas Gazel


Dato : 29-06-06 08:16

Hej Dan

Det ser fornuftigt ud, men hvad gør jeg i praksis?

Jeg har smidt din kode ind her:

http://mark.gazel.dk/test/

Det ser lidt forkert ud. Skal der bruges database eller skal jeg lave et
seperat dokument, der kalder visse dele af koden?


--
Med venlig hilsen

Mark

http://mark.gazel.dk/


> <?php
>
>
> if(isset($_POST['sendmail']))
> {
> $mails = array(1 => "storm@err0r.dk", 2 => "regnskab@firma.dk", 3 =>
> "reklame@firma.dk", 4 => "klager@firma.dk");
>
> $body = "";
> $body .= "Der er sendt en mail fra firma.dk\r\n" ;
> $body .= "Afsender: ".strip_tags($_POST['email'])."\r\n\r\n";
> $body .= "Meddelelsen er som følger:\r\n";
> $body .= strip_tags($_POST['body'])."\r\n\r\n";
>
> $headers = "From: firma.dk <noreply@firma.dk>\r\n";
>
>
> if(@mail($mails[$_POST['mailto']], strip_tags($_POST['subject']),
> $body, $headers))
> {
> echo 'Din besked er blevet afsendt.';
> }
> }
> else
> {
> echo '
> <form action="'.$_SERVER['PHP_SELF'].'" method="post">
> <div>
> <input type="hidden" name="sendmail" value="TRUE" />
> Modtager:<br />
> <select name="mailto">
> <option value="1">Chefen</option>
> <option value="2">Regnskab</option>
> <option value="3">Reklame</option>
> <option value="4">Klager</option>
> </select><br />
> Din email:<br />
> <input type="text" name="email"><br />
> Emne<br />
> <input type="text" name="subject"><br />
> Besked:<br />
> <textarea name="body"></textarea><br />
> <input type="submit" name="send" value="Send besked">
> </div>
> </form>
> ';
>
> }



Dan Storm (29-06-2006)
Kommentar
Fra : Dan Storm


Dato : 29-06-06 08:42

Mark Thomas Gazel skrev:
> Hej Dan
>
> Det ser fornuftigt ud, men hvad gør jeg i praksis?
Først retter du alle de mailadresser der ligger i scriptet (jeg kender
jo ikke de eksakte adresser!)

> Det ser lidt forkert ud. Skal der bruges database eller skal jeg lave et
> seperat dokument, der kalder visse dele af koden?
Du har garanteret gemt filen som index.html eller *.htm eller lignende.
Filen skal hedde *.php

F.eks. kontakt.php


--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

Mark Thomas Gazel (29-06-2006)
Kommentar
Fra : Mark Thomas Gazel


Dato : 29-06-06 09:05

>> Det ser lidt forkert ud. Skal der bruges database eller skal jeg
>> lave et seperat dokument, der kalder visse dele af koden?
> Du har garanteret gemt filen som index.html eller *.htm eller
> lignende. Filen skal hedde *.php

Jeg er med. Nu skal den jo bruges i WordPress, men jeg kan vel hente den ind
i en iframe.

Er mailadresserne sikret med harvestere. Det er lidt diffust for mig
præcist, hvornår harvesterne kan hapse adresserne. Jeg ved dog at, hvis de
ligger i et almindelig html-dokument, så er de blotlagt.


--
Med venlig hilsen

Mark

http://mark.gazel.dk/



Dan Storm (29-06-2006)
Kommentar
Fra : Dan Storm


Dato : 29-06-06 09:35

Mark Thomas Gazel skrev:
> Jeg er med. Nu skal den jo bruges i WordPress, men jeg kan vel hente den ind
> i en iframe.
Jeg ved ikke helt hvordan de fungerer med post, men du kan da prøve.

> Er mailadresserne sikret med harvestere. Det er lidt diffust for mig
> præcist, hvornår harvesterne kan hapse adresserne. Jeg ved dog at, hvis de
> ligger i et almindelig html-dokument, så er de blotlagt.
Lige så snart de kan læses af en tekstbrowser, så kan de høstes. Men
idét at adresserne ligger gemt i PHP koden, så kan de ikke læses.

--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

Mark Thomas Gazel (29-06-2006)
Kommentar
Fra : Mark Thomas Gazel


Dato : 29-06-06 10:23

>> Er mailadresserne sikret med harvestere. Det er lidt diffust for mig
>> præcist, hvornår harvesterne kan hapse adresserne. Jeg ved dog at,
>> hvis de ligger i et almindelig html-dokument, så er de blotlagt.

> Lige så snart de kan læses af en tekstbrowser, så kan de høstes. Men
> idét at adresserne ligger gemt i PHP koden, så kan de ikke læses.

Den er smidt ind nu, og jeg har sendt en mail til mig selv, men jeg tror
ikke det virker. Der er ikke kommet noget. Går ud fra det er her jeg putter
mailadresser ind:

$mails = array ...


Der kommer heller ikke en kvittering ved afsendelse. Den her:

echo 'Din besked er blevet afsendt.';



--
Med venlig hilsen

Mark

http://mark.gazel.dk/



Dan Storm (29-06-2006)
Kommentar
Fra : Dan Storm


Dato : 29-06-06 22:12

Mark Thomas Gazel skrev:
> Den er smidt ind nu, og jeg har sendt en mail til mig selv, men jeg tror
> ikke det virker. Der er ikke kommet noget. Går ud fra det er her jeg putter
> mailadresser ind:
>
> $mails = array ...
>
>
> Der kommer heller ikke en kvittering ved afsendelse. Den her:
>
> echo 'Din besked er blevet afsendt.';
>

Jeg tror det er fordi du bruger den iframe.
Se om du ikke kan komme uden om det. Eventuelt hardcode den ind i WordPress.

--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

Mark Thomas Gazel (30-06-2006)
Kommentar
Fra : Mark Thomas Gazel


Dato : 30-06-06 09:42

> Jeg tror det er fordi du bruger den iframe.
> Se om du ikke kan komme uden om det. Eventuelt hardcode den ind i
> WordPress.

Uha, nej det gør jeg ikke.

Jeg har lavet en template, som WordPress kalder, der hedder kontakt.php. I
den ligger din kode.

Du kan sen den i kilden:

http://mark.gazel.dk/test/


--
Med venlig hilsen

Mark

http://mark.gazel.dk/



Dan Storm (01-07-2006)
Kommentar
Fra : Dan Storm


Dato : 01-07-06 09:09

Mark Thomas Gazel skrev:
> http://mark.gazel.dk/test/
Prøv at rette
<form action="'.$_SERVER['PHP_SELF'].'" method="post">

til

<form action="kontakt.php" method="post">
--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

Mark Thomas Gazel (02-07-2006)
Kommentar
Fra : Mark Thomas Gazel


Dato : 02-07-06 12:28

> > http://mark.gazel.dk/test/
> Prøv at rette
> <form action="'.$_SERVER['PHP_SELF'].'" method="post">
>
> til
>
> <form action="kontakt.php" method="post">

Desværre. Får en
Fejl 404. Siden eksisterer ikke.

--
Med venlig hilsen

Mark

http://mark.gazel.dk/



Dan Storm (03-07-2006)
Kommentar
Fra : Dan Storm


Dato : 03-07-06 06:56

Mark Thomas Gazel skrev:
>> > http://mark.gazel.dk/test/
>> Prøv at rette
>> <form action="'.$_SERVER['PHP_SELF'].'" method="post">
>>
>> til
>>
>> <form action="kontakt.php" method="post">
>
> Desværre. Får en
> Fejl 404. Siden eksisterer ikke.
>
Jo mere jeg kigger på din kildekode, jo mere forvirret bliver jeg?
Lige nu ser din kode sådan her ud:
<form action="/wp-content/themes/relaxation/kontakt.php" method="post">

Men den skal jo helst fungere sådan at action skal pege mod sig selv, i
det pågældende script.
Så hvis din fil hedder kontakt.php, bør
<form action="kontakt.php" method="post">
virke efter hensigten.


--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

Mark Thomas Gazel (03-07-2006)
Kommentar
Fra : Mark Thomas Gazel


Dato : 03-07-06 12:26

> Jo mere jeg kigger på din kildekode, jo mere forvirret bliver jeg?
> Lige nu ser din kode sådan her ud:
> <form action="/wp-content/themes/relaxation/kontakt.php"
> method="post">

Det var mit forsøg på at se om hele stien skulle stå der.

Det skulle den ikke.

> Men den skal jo helst fungere sådan at action skal pege mod sig selv,
> i det pågældende script.
> Så hvis din fil hedder kontakt.php, bør
> <form action="kontakt.php" method="post">
> virke efter hensigten.

Den virker, men jeg får ingen mails. Ok, så virker den ikke. Men det skal
forstås på den måde, at når jeg fylder felterne ud og klikker send, så
kommer jeg til index-siden, så noget sker der.


--
Med venlig hilsen

Mark

http://mark.gazel.dk/



Peter Brodersen (11-07-2006)
Kommentar
Fra : Peter Brodersen


Dato : 11-07-06 00:06

On Thu, 29 Jun 2006 08:48:50 +0200, Dan Storm
<shadyz@_REMOVETHIS_err0r.dk> wrote:

><form action="'.$_SERVER['PHP_SELF'].'" method="post">

Dette giver så en cross-site-scripting-sårbarhed og bør ikke benyttes
i noget produktionskode.

PHP_SELF kan indeholde tainted bruger-data og skal behandles som så.

Det er dog et ret udbredt hul, idet folk antager, at SERVER-variable
generelt er sikre.

--
- Peter Brodersen
Ugens^WMånedens^WSommerens værktøj - Find vej: www.findvej.dk
Nu med link direkte til en adresse, fx: www.findvej.dk/Nybrogade2,1203

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste