Avatar billede moine Nybegynder
15. september 2005 - 18:54 Der er 5 kommentarer og
1 løsning

Hjælp - Min gæstebog bliver hacket!

Hej derude...

Det ser ud som om min gæstebog på min side (http://www.nigo.dk) hos surftown bliver hacket. De seneste indlæg ser i hvert fald temmelig sære ud... Det kunne tyde på at nogen prøver at bruge den til at sende emails ud til andre - en spammer måske?

Jeg ved ikke meget om php og databaser, så jeg fandt i tidernes morgen scriptet til gæstebogen i en af IDG's bøger om php. Måske har det et par sikkerhedsmæssige huller? Jeg skal vel ikke til at bede folk om et password før de kan skrive i den? :-) Håber nogen kan hjælpe...

Det script jeg bruger nu ser således ud:


<?

$conn = mysql_connect("serveren", "mit brugernavn", "mit password");
mysql_select_db("min database");
if($skriv)
{
$besked = str_replace("\n", "<BR>", $besked);
$dato_array = getdate();
$dato = $dato_array["mday"] . "/" . $dato_array["mon"] . "-" . $dato_array["year"];
mysql_query("INSERT INTO p5gbog
(
dato,
navn,
besked
)
VALUES
(
'$dato',
'$navn',
'$besked'
)"
);
}   
?>

<p><FORM METHOD=POST ACTION=<? echo $PHP_SELF; ?>>
<p><INPUT TYPE=hidden NAME=skriv VALUE=1>
<p>Fra:<BR>
<p><INPUT TYPE=TEXT NAME=navn><BR>
<p>Besked:<BR>
<p><TEXTAREA NAME=besked ROWS="4" COLS="13"></TEXTAREA><BR>
<p><INPUT TYPE=SUBMIT VALUE="Læg beskeden!">
<p></FORM>
Avatar billede erikjacobsen Ekspert
15. september 2005 - 19:13 #1
Den er der mange, der får for tiden. Ideen er vist at hvis man sender mailen videre fra formularen med mail()-funktionen, efterprøver nogen om man sjusker med programmeringen, og tillader at anbringe en ekstra emailadresse.

Du sender ikke videre med mail() så du rammes ikke af andet end irrelevante beskeder i din gæstebog. Evt. kan du frasortere alt, der indeholder "aol.com" - som vist går igen i dem alle.
Avatar billede moine Nybegynder
15. september 2005 - 19:23 #2
Så scriptet er sikkert nok? Var lidt bange for at jeg ville få anklager om at jeg havde spammet andre...

Ved godt at det ikke præcis er det spørgsmålet gik på, men hvordan kan man frasortere et indlæg ud fra indholdet?
Avatar billede nielle Nybegynder
15. september 2005 - 19:31 #3
Nej, scriptet er ikke sikkert nok (men det har noget at gøre med det aktuelle problem). Folk kan nemlig submitte HTML-kode og du sætter det ufiltreret og kritikløst ind i din gæstebog. Det bør du kigge på:

http://dk2.php.net/manual/da/function.htmlentities.php
http://dk2.php.net/manual/da/function.strip-tags.php
Avatar billede nielle Nybegynder
15. september 2005 - 19:33 #4
... desuden beskytter du dig heller ikke imod SQL-injection:

http://en.wikibooks.org/wiki/Programming:PHP:SQL_Injection
Avatar billede moine Nybegynder
15. september 2005 - 19:37 #5
tak nielle... smart funktion den der strip-tags - specielt fordi man kan tilføje de mest basale tags som man synes er ok at folk indsætter. Der er nogen gutter (m/k), der har tænkt sig om da de skrev det php-sprog :-)

Bliver det til et svar, nielle?
Avatar billede nielle Nybegynder
15. september 2005 - 19:47 #6
Oki :^)

MEN! du skal også lige kigge på det der SQL-injection - det er sgi' noget farligt noget hvis man ikke lære at sikre imod det ordentligt!
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