Gå til innhold

Sjekk hvor formdata ($_POST) kommer fra?


Anbefalte innlegg

Har fått et lite problem med en gjestebok.

I det siste har den blitt fylt med spam, gjerne flere hundre pr. dag.

 

Problemet mitt er som følger:

 

Har 2 to filer:

- En som viser gjesteboken (innlagde meldinger) og som i tillegg har et formulær for å legge inn nye innlegg.

- En annen som brukes til å sette innleggene in i databasen.

 

Siden "sett inn" funksjonen min kun sjekker $_POST så har jeg på følelsen at noen har laget et script som bare sender post data til "sett inn fila" (for kan ikke tenke meg at noen gidder å flylle inn så mange spam manuelt (men alle kommer fra forskjellig IP - kjører logging - så jeg forstår ikke helt).

 

Uansett:

Det jeg lurer på er hvordan man enkelt kan legge inn en sjekk på "sett in filen" slik at man vet at dataene som blir lagt til databasen kommer fra innsett formen i "gjestebok fila" og ikke på noen annen måte?

Dvs. at noen ikke kan lage en standard form i html og sette kjøre den fra en annen server..

 

Regner med dere forstår hva jeg mener? Hvis ikke får jeg prøve å forklare litt bedre :)

Lenke til kommentar
Videoannonse
Annonse

Forstår hva du mener, men tviler på det vil hjelpe deg med problemet ditt.

 

Løsningen på spøsmålet blir noe slikt:

Når formen vises, generer en unik id som du legger i et hidden field.

Når formen submittes sjekker du verdien i hidden feltet, den skal da være lik den iden du genererte.

 

Løsningen på problemet ditt finner du her: https://www.diskusjon.no/index.php?showtopic=622598

 

Tror jeg, har ikke lest tråden så nøye :p

Lenke til kommentar
Gjest Slettet-rXRozPkg

Sånn på sparket så ville jeg laget en sjekk ala dette i den fila der dataene mottas:

 

if ($_SERVER['HTTP_REFERER'] == "http://www.minside.net/mappe/formfil.php") {
  legg til i db
} else {
 dataene kommer fra et annet sted
}

 

Hvis ikke dette skulle fungere, så ta å skriv ut $_SERVER['HTTP_REFERER'] for å se hva den faktisk er satt til, for så å legge til dette i if-sjekken.

 

Du kan sikkert få til noe mer dynamisk hvis du leser litt mer om $_SERVER.

Endret av Slettet-rXRozPkg
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...