| FAQ |
| Kalender |
|
|
#11 | |||
|
||||
|
Supermoderator
|
||||
|
|
Svara med citat
|
|
|
#12 | ||
|
|||
|
Klarade millennium-buggen
|
PHPMailer, fast det blir nog för svårt. Fixat säkerhetshålen ännu?
|
||
|
|
Svara med citat
|
|
|
#13 | ||
|
|||
|
Supermoderator
|
Citat:
To: adressen dit mailet ska skickas Subject: Titel / rubrik för mailet Body: Meddelandet (har du en massa variabler enligt ditt exempel så måste du sätta ihop allt till en variabel som innehåller HELA meddelandet) Headers: från-adress, teckenkodning etc. (se beskrivning av mail-funktionen i länk ovan) Som flera redan påpekat så kan vem som helst i nuläget använda ditt kontaktformulär för att skicka spam till hela världen om de så önskar, med de begränsningar eventuellt webbhotell har.
__________________
Full-stack developer, free for smaller assignments |
||
|
|
Svara med citat
|
|
|
#14 | ||
|
|||
|
Nykomling
|
Citat:
Kod:
if (mail($to, "From: $name <$from>", "$message, $persnr, $adress, $postnr, $ort, $from, $tel, $bild, $antal, $format, $agree")) Kod:
if (mail($to, "HEJSAN!!!!!11 från $name <$from>", "$message, $persnr, $adress, $postnr, $ort, $from, $tel, $bild, $antal, $format, $agree"), "From: En Apa i Pyjamas!") |
||
|
|
Svara med citat
|
|
|
#15 | |||
|
||||
|
Klarade millennium-buggen
|
Tack för alla svar, nu fungerar det korrekt. Ni som påpekar säkerhetshålen skulle tillföra så mycket mer genom att komma med exempel på hur man löser det istället för att förlöjliga det. några av oss även här haft annat för sig i sin uppväxt än att sitta 20 timmar framför burken varje dag
=
|
|||
|
|
Svara med citat
|
|
|
#16 | |||
|
||||
|
Medlem
|
Det jag skulle göra är att skriva skriptet på ett något annat sätt.
Kod:
<?php
// http://www.phpit.net/code/valid-email/
function valid_email($email) {
// First, we check that there's one @ symbol, and that the lengths are right
if (!ereg("^[^@]{1,64}@[^@]{1,255}$", $email)) {
// Email invalid because wrong number of characters in one section, or wrong number of @ symbols.
return false;
}
// Split it into sections to make life easier
$email_array = explode("@", $email);
$local_array = explode(".", $email_array[0]);
for ($i = 0; $i < sizeof($local_array); $i++) {
if (!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\|\")]{0,62}\"))$", $local_array[$i])) {
return false;
}
}
if (!ereg("^\[?[0-9\.]+\]?$", $email_array[1])) { // Check if domain is IP. If not, it should be valid domain name
$domain_array = explode(".", $email_array[1]);
if (sizeof($domain_array) < 2) {
return false; // Not enough parts to domain
}
for ($i = 0; $i < sizeof($domain_array); $i++) {
if (!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$", $domain_array[$i])) {
return false;
}
}
}
return true;
}
// liten egen hjälpfunktion
function pvar($var)
{
$got = $_POST[$var];
// jag använder htmlentities som man kan läsa om på http://se2.php.net/htmlentities
$got = htmlentities($got);
// alternativt borde man kunna använda något av följande
// http://se.php.net/manual/en/function.strip-tags.php
// http://se.php.net/manual/en/function.htmlspecialchars-decode.php
// http://se.php.net/manual/en/function.addslashes.php
return $got;
}
$to = "[email protected]";
$subj = "Hemsidesinfo";
$from = pvar("email");
$fname = pvar("name");
$msg = "<b>Personnummer:</b> ". pvar("persnr")."\n".
"<b>Namn:</b> ". pvar("name")."\n".
"<b>Adress:</b> ". pvar("adress")."\n".
"<b>Postnummer:</b> ". pvar("postnr")."\n".
"<b>Ort:</b> ". pvar("ort")."\n".
"<b>Epost:</b> ". pvar("email")."\n".
"<b>Telefon:</b> ". pvar("tel")."\n".
"<b>Bild:</b> ". pvar("bild")."\n".
"<b>Antal:</b> ". pvar("antal")."\n".
"<b>Format:</b> ". pvar("format")."\n".
"<b>Meddelande:</b> ". pvar("message")."\n".
"<b>Godkänd:</b> ". pvar("agree")."\n".
"\n";
if (!valid_email($from))
echo "<h2>Felaktigt formulärdata.</h2>Kontrollera att uppgifterna är korrekt ifyllda.";
elseif (mail($to, $subj, wordwrap(strip_tags($msg),70), "From: \"$fname\" <$from>")
echo nl2br("<h2>Din beställning har nu skickats till oss! Kopian på beställningen ser du nedan, är det något som inte stämmer, kontakta oss snarast!</h2>\n\n$msg");
else
echo "<h2>Det gick inte att skicka ditt meddelande.</h2> Var god försök senare.";
?>
Om du använder dig av UNIX-server hos oss eller någon annan bör du dessutom lägga till ett fjärde fält till mail()-funktionen: Kod:
elseif (mail($to, $subj, strip_tags($msg), "From: \"$fname\" <$from>","-f$from") |
|||
|
|
Svara med citat
|
|
|
#17 | ||
|
|||
|
Supermoderator
|
Citat:
Till Emils kod kan tilläggas att teckenkodning bör skickas med till htmlentities om man inte använder ISO-8859-1 (förslagsvis UTF-8). Htmlentities är inte helt nödvändig dock utan det går som han antyder att lösa på andra sätt. För övrigt så säger väl ztream det nedan som flera hintat om på mindre väl valda sätt.
__________________
Full-stack developer, free for smaller assignments |
||
|
|
Svara med citat
|
|
|
#18 | |||
|
||||
|
Supermoderator
|
Poängen som många gör är nog att oavsett hur lat man är, så borde man läsa manualen innan man ber professionella webmasters lösa ens problem gratis.
Citat:
|
|||
|
|
Svara med citat
|
|
|
#19 | |||
|
||||
|
Har WN som tidsfördriv
|
Citat:
Även om det inte var illa menat så låter det inte vidare trevligt, hade jag kunnat PHP hade jag nog gjort allt annat än hjälpt dig nu. edit: typo |
|||
|
|
Svara med citat
|
|
|
#20 | |||
|
||||
|
Bara ett inlägg till!
|
Førvisso håller jag med dig davve i att vill man ge kritik kan det ju också høra till god sed att åtminstone ge dig ett tips om hur du går vidare (annars ær man væl bara elak?
), (jag tycker absolut inte, under några omstændigheter att folk ska ge dig kod, det lær du dig ingenting av.) Hur har du tænkt kunna koda i php om du inte kan php (och inte tycks villig att læra dig? måste jag också fråga mig? du kan ju inte mena att du ska førlita dig på att andra skriver koden gratis åt dig før att du frågar på wn.se? Vill du jobba i php så finns det vældigt många bra bøcker att læsa jag kan rekomedera dig flera stycken som skulle passa och ge dig en basic insættning i php, som du behøver før att skriva ett mailformulær.Sen kommentarer om hur mycket folk hær inne har spenderat framfør datorn i barndomsdagar ær ju oerhørt onødigt, speciellt då du vænder dig till dessa personer før hjælp? Vem tror du vill hjælpa dig næsta gång ? Edit: Type-o |
|||
|
|
Svara med citat
|
| Svara |
|
|