mboost-dp1
Gæstebog
- Forside
- ⟨
- Forum
- ⟨
- Programmering
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>";
}
?>
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>";
}
?>
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.. :(
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 !
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 !
#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. :-|
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. :-|
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.
Input escaping har intet at gøre med sikkerhed.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.
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)
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.mbw2001 (9) skrev:Nej KaW du skal ikke SQL Injecte for fuld smadder på den stakkels studerendes gæstebog.
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.
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.