Avatar billede nicolaib Praktikant
29. april 2007 - 00:14 Der er 3 kommentarer og
1 løsning

Indsæt spam-beskyttelse

Jeg har brug for noget spam-beskyttelse til et formmail-script og det er ikke lykkedes mig at lave eller finde noget der overhovedet virker.

Jeg bruger denne kode til at checke om der er indsat oplysninger i obligatoriske felter. Den udskriver hvor fejlen er og det er vigtigt at spam-beskyttelsen også fortæller at der er noget galt.

Jeg søger noget der f.eks gør at domænet ikke er indsat i navn,email osv. og dertil andet der forhindrer spam.

Her er så koden til den del af scriptet hvor beskyttelsen skal indsættes. Den der laver noget der virker og indsætter det i koden  får pointene.

På forhånd tak.

if(isset($_POST['submit'])) {

if(
    !preg_match("/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/", $email) ||
    empty($_POST['navn']) ||
    empty($_POST['adresse']) ||
    empty($_POST['postnr']) ||
    empty($_POST['by']) ||
    empty($_POST['email'])) {
   
if(empty($_POST['navn'])) { echo "Der er ikke indtastet noget navn.<br />"; }
if(empty($_POST['adresse'])) { echo "Adressen er ikke udfyldt.<br />"; }
if(empty($_POST['postnr'])) { echo "Postnummeret er ikke udfyldt.<br />"; }
if(empty($_POST['by'])) { echo "Der er ikke angivet en by.<br />"; }
if(empty($_POST['telefon'])) { echo "Der er ikke indtastet et telefonnummer.<br />"; }
if(empty($_POST['email'])) { echo "Der er ikke indtastet en e-mail-adresse.<br />"; }
if(!preg_match("/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/", $email)) {
  echo "<b>Ugyldig e-mailadresse!</b>"; }

}
Avatar billede nyhuus Nybegynder
29. april 2007 - 02:58 #1
prøv at se om dennne her artiktel kan hjælpe dig

Spambeskyt formular: http://www.eksperten.dk/artikler/1019
Avatar billede nicolaib Praktikant
29. april 2007 - 12:02 #2
Det er desværre ikke CAPTCHA jeg ønsker. Jeg ønsker derimod en direkte validering af input-felterne.

Jeg havde tænkt noget i stil med det her men jeg kan ikke få det itl at virke.

!strpos($_POST['name'], "dit_domain.dk") &&  // tjek, at dit domæne ikke er skrevet i feltet "navn"
!strpos($_POST['email'], "dit_domain.dk") && // tjek, at dit domæne ikke er skrevet i feltet "email"
!strpos($_POST['name'], "@") && // tjek, at der ikke er et @ i "navn"
!eregi("\r",$_POST['name']) &&  // tjek, at der ikke er "vogn-retur" i "navn"
!eregi("\n",$_POST['name']) &&  // tjek, at der ikke er "linjeskift" i "navn"
!eregi("\r",$_POST['email']) && // tjek, at der ikke er "vogn-retur" i "email"
!eregi("\n",$_POST['email'])  // tjek, at der ikke er "linjeskift" i "email"

Det er fundet på hjemmesideskolen.dk
Avatar billede nicolaib Praktikant
01. maj 2007 - 16:50 #3
Er der ikke nogen der har et bud på det her?
Avatar billede nicolaib Praktikant
01. maj 2007 - 20:39 #4
Nå, jeg lukker spørgsmålet.
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