mboost-dp1

Gæstebog


Gå til bund
Gravatar #1 - KenniB
21. jun. 2012 07:42
Hejsa, jeg ved der sidder nogle folk herinde som bare ved ALT! Så derfor søger jeg lidt hjælp til min gæstebog.

Jeg har oprettet en database og det hele spiller bare, eneste problem er at jeg ikke kan få vist beskeder frem på min side. teksten bliver fint tilføjet til database, den vil bare ikke blive vist på siden.

Jeg ved ikke hvor meget af mine koder i skal bruge, men nu får i lige hvad der er ingen i gæstebog, da jeg går udfra det er der problemet ligger.

<form action="<?php echo $current_page ?>" method="post">
title: <input type="text" name="title" /><br />
content: <textarea name="content"></textarea><br />
<p><input type="submit" name="submit" value="Send" /></p>
</form>


<?php

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

$conn=mysql_connect("localhost", "root","");

mysql_select_db("guestbook",$conn);

$title = $_POST['title'];
$content = $_POST['content'];

$sql = "INSERT INTO beskeder values (NULL,'$title', '$content')";

if (mysql_query($sql, $conn)) {

echo "Teksten er tilføjet ";
}else{

echo "fejl: ".mysql_error();

}
}

?>

<?php

$conn=mysql_connect("localhost", "root","");

mysql_select_db("guestbook",$conn);

$sql = "SELECT * from beskeder order by id desc";

$result = mysql_query($sql,$conn) or die(mysql_error());

//gennemløb alle posterne og udskriv resultatet

while ($newArray = mysql_fetch_array($result)){

//giver felterne et navn


$testField = $newArray['testField'];

$content = $newArray['content'];

//udskriv resultatet i browsere
echo "<br /><h2>$testField</h2> <div class='tekst'>$content</div>";

}
?>
Gravatar #2 - PHP-Ekspert Thoroughbreed
21. jun. 2012 07:51
- edit -

Glem det - newz vil ikke som jeg vil >_<
Gravatar #3 - KenniB
21. jun. 2012 08:13
Thoroughbreed (2) skrev:
- edit -

Glem det - newz vil ikke som jeg vil >_<


Jooo, kom så. :( Mit skaldede hoved er ved at få gråhår, så slemt er det.
Gravatar #4 - KaW
21. jun. 2012 08:39
Husk et link når du er færdig med den, den ser rigtig spændende ud, især dine SQL-land.
Gravatar #5 - KenniB
21. jun. 2012 08:43
KaW (4) skrev:
Husk et link når du er færdig med den, den ser rigtig spændende ud, især dine SQL-land.


Jeg forstår ikke, et link? :o Er ved at uddanne mig som web-integrator. Dette er til en eksamens opgave og alle de papir jeg har med notater virker slet ikke. Og det har virket før, er helt på bar bund.. :(
Gravatar #6 - KaW
21. jun. 2012 09:49
KenniB (5) skrev:
Jeg forstår ikke, et link? :o Er ved at uddanne mig som web-integrator. Dette er til en eksamens opgave og alle de papir jeg har med notater virker slet ikke. Og det har virket før, er helt på bar bund.. :(

Ja, et link så jeg kan prøve din gæstebog.
Gravatar #7 - Systran
21. jun. 2012 09:50
Kan du ikke bare bruge den, som Webbyen tilbyder? Den er jo glimrende!
Gravatar #8 - Corholio
21. jun. 2012 09:54
#6

Da det drejer sig om en eksamensopgave, antager jeg at opgaven går ud på at lave en gæstebog (selv), og altså ikke blot integrere en eksisterende komponent?
Gravatar #9 - mbw2001
21. jun. 2012 10:40
Nej KaW du skal ikke SQL Injecte for fuld smadder på den stakkels studerendes gæstebog.
Gravatar #10 - reefermadness  
21. jun. 2012 10:40
Tænk at man på uddannelser der omhandler PHP stadig bruger mysql_* funktionerne.

OP, #4 hentyder til at din gæstebog har nogle SQL injection sikkerhedshuller... Du skal huske at escape data hvis du bruger mysql_

Jeg vil anbefale dig (Og din lærer) at kigge på PDO !
Gravatar #11 - nielsbuus
24. jun. 2012 11:11
#11 Jeg går på datamatikeruddannelsen, hvor jeg også driver en lektiecafe med en medstuderende. Vi fik besøg af en elev med et lignende problem. Hun kom dog ikke fra datamatikerstudiet, men fra "Professionsbachelor i webudvikling" hvor hun var på 2. semester. Denne uddannelse er en overbygning til multimediedesigner og datamatiker.

Anyway, i hendes materiele blev der også brugt mysql_connect(). Jeg så ikke engang en nævnelse af mysql_real_escape_string() eller tegnkodning.

Du vil blive overrasket over hvad undervisere på videregående uddannelser slipper afsted med at genbruge fra 00'erne. :-|
Gravatar #12 - apkat
24. jun. 2012 11:19
&nbsp; &nbsp; &nbsp; (10) skrev:
Tænk at man på uddannelser der omhandler PHP stadig bruger mysql_* funktionerne.


Jeg lærte php for 5-10 år siden, hvad skal man så bruge?
Gravatar #13 - KaW
24. jun. 2012 11:46
apkat (12) skrev:
Jeg lærte php for 5-10 år siden, hvad skal man så bruge?

Mysqli, eller bedre PDO.
Gravatar #14 - KaW
24. jun. 2012 11:48
MadiZone (11) skrev:

Anyway, i hendes materiele blev der også brugt mysql_connect(). Jeg så ikke engang en nævnelse af mysql_real_escape_string() eller tegnkodning.

Du vil blive overrasket over hvad undervisere på videregående uddannelser slipper afsted med at genbruge fra 00'erne. :-|

Jeg synes ellers det var sjovt at hacke mine medstuderendes projekter, men det er måske bare mig.

Men det er rigtigt, sikkerhed er slet ikke på pensum. Det er iøvrigt heller ikke noget der giver særlig meget ekstra credit til eksamen.
Gravatar #15 - apkat
24. jun. 2012 11:51
At man ikke skal stole på bruger input burde være det første man lærer et IT sted.
Gravatar #16 - Windcape
24. jun. 2012 12:15
KaW (13) skrev:
eller bedre PDO.
Det afhænger lidt af om de har fikset performance problemerne i PDO.
Gravatar #17 - Windcape
24. jun. 2012 12:17
KaW (14) skrev:
Men det er rigtigt, sikkerhed er slet ikke på pensum. Det er iøvrigt heller ikke noget der giver særlig meget ekstra credit til eksamen.
Input escaping har intet at gøre med sikkerhed.

Hvis deres gæstebog "crasher" fordi at man bruger en apostrof i input, så er det jo en programmeringsfejl.

Og at brug string-concat til database input, er så forkert som noget kan blive. Det er en del af grundlæggende introduktion til databaser.

Men som det er blevet påpeget, det er utrolig hvad undervisere kan slippe af sted med i dag :-)

(Multimedie-designer og web-integrator uddannelserne er dog en komplet joke. Det er spild af statens penge)
Gravatar #18 - Windcape
24. jun. 2012 12:19
apkat (12) skrev:
Jeg lærte php for 5-10 år siden, hvad skal man så bruge?
*brr* tiden flyver... Jeg lærte PHP for 8 år siden, og det er vel snart 5 år siden jeg har arbejdet med det sidst.
Gravatar #19 - kasperd
24. jun. 2012 20:34
mbw2001 (9) skrev:
Nej KaW du skal ikke SQL Injecte for fuld smadder på den stakkels studerendes gæstebog.
Nogen skal jo gøre det. Og hvis ikke man kan stole på at den person der skal rette opgaven gør det, så bliver en af os jo nødt til at gøre det.

Vi kan forhåbentligt blive enige om, at hvis en studerende aflever en opgave med den slags huller i, og ingen laver en injection, så har undervisningssystemet fejlet.

Da jeg selv var instruktor på universitetet skulle jeg på et tidspunkt rette en stak opgaver, hvor de studerende havde lavet noget kernekode. Fra jeg satte mig ned med den stak afleveringer til jeg fandt det første local-root-exploit gik der lidt under et sekund.

Som den hjælpsomme instruktor jeg var gik jeg straks igang med at lave exploit-kode så man kunne få en root-shell på deres modificerede kerne. Og så blev både den sårbare kode og exploit-koden vist til hele øvelsesholdet.

Jeg kunne selvfølgelig have gjort det lidt bedre. Jeg kan blot have vist den sårbare kode til hele holdet og lovet øl til den første der kunne vise fungerende exploit-kode.

Jeg kan faktisk ikke forestille mig noget bedre tidspunkt at få sin kode udsat for SQL injection, cross site scripting osv. end i et studieprojekt.
Gravatar #20 - apkat
24. jun. 2012 21:08
kasperd (19) skrev:
Jeg kan faktisk ikke forestille mig noget bedre tidspunkt at få sin kode udsat for SQL injection, cross site scripting osv. end i et studieprojekt.

Tjae, et bedre tidspunkt ville være aldrig. Men ja.
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login