Cross side Scripting
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
ausgabe
beitrag
break
date
eingeben
eintrag
email
fehler
folgende funktionen
fragen
gut abgesichert
gstebuch
insert
kommentar
sinnen
tabelle
vielen vielen dank
-
vor kurzen hat mir einer in mein g?stebuch geschrieben.
Er hat leider keinen Text geschrieben sondern hat dort eine html tabelle erstellt womit alle eintr?ge verutscht sind
nun meine frage, wie kann ich html code ausschalten bei der eintrag.php, damit einer nurnoch text eingeben kann.
eintrag.php
<!--By Blacksoul-->
<title>Eintrag ins Gaestebuch</title>
<p> <br>
<form method="post" action="index.php?site=gb/eintrag">
<table >
<tr>
<td>Name: </td>
<td><input type="text" name="name" size="35"><br> </td>
</tr>
<tr>
<td>Email: </td>
<td><input type="text" name="email" size="35"><br> </td>
</tr>
<tr>
<td>Homepage: </td>
<td><input type="text" name="hpage" size="35"><br> </td>
</tr>
<tr>
<td>Mirc-Channel (ohne#): </td>
<td><input type="text" name="mirc" size="35" value=""><br> </td>
</tr>
<tr>
<td>Kommentar: </td>
<td><textarea name="kommentar" rows="4" cols="29"></textarea><br> </td>
</tr>
<tr>
<td><input type="submit" name="op" value="Eintragen"><br> </td>
<td><INPUT type="RESET" value=" l?schen "><br> </td>
</tr>
</table>
</form>
</p>
<div align="center"><a href="index.php?site=gb/gaestebuch">Hier kommst du wieder zur?ck</a></div>
<?php
function db_eintragen ($name,$email,$hpage,$kommentar,$datum,$ip,$mirc)
{
include("config.php");
$linkID=mysql_connect("$dbhost","$mysqlname","$dbpass");
if (!$linkID)
die("Fehler bei mysql_connect #001".mysql_error());
$select=mysql_select_db("$dbname");
if (!$select)
die("Fehler bei mysql_connect #002".mysql_error());
$ip=getenv("REMOTE_ADDR");
$datum=date("Y.m.d");
$sql="INSERT INTO gb_blacksoul (name,email,hpage,kommentar,datum,ip,mirc) VALUES ('$name','$email','$hpage','$kommentar','$datum','$ip','$mirc')";
$resID=mysql_query($sql,$linkID);
if (!$resID)
die ("Fehler beim Eintragen #003".mysql_error());
else
echo "Eintrag f?r $name erfolgt! ";
mysql_close($linkID);
}
switch ($op)
{
case "Eintragen": db_eintragen ($name,$email,$hpage,$kommentar,$datum,$ip,$mirc); break;
default:
}
?>
Beitrag ge?ndert am 10.08.2005 16:39 von blacksoul -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Verwende folgende Funktionen, um die Eingaben zu entsch?rfen :
http://www.selfphp.de/funktionsreferenz/mysql_funktionen/mysql_escape_string.php
http://www.selfphp.de/funktionsreferenz/string_funktionen/strip_tags.php
Dann solltest du ganz gut abgesichert sein. -
Du kannst auch htmlspecialchars() verwenden oder noch besser htmlentities(), damit werden die HTML-Zeichen als Code im G?stebuch angezeigt, aber nicht ausgef?hrt. Ich find das praktischer, da man so leicht erkennen kann, ob jmd etwas 'b?ses' im Sinn hatte oder nicht.
htmlspecialchars ist eine abgeflachte Version von htmlentities und wandelt glaub ich nur < > und " um.
mfg mace -
mace k?nntest du mir das in meinen code da oben einbauen damit w?rdest du mir echt helfen
-
function db_eintragen ($name,$email,$hpage,$kommentar,$datum,$ip,$mirc) { include("config.php"); $linkID=mysql_connect("$dbhost","$mysqlname","$dbpass"); if (!$linkID) die("Fehler bei mysql_connect #001".mysql_error()); $select=mysql_select_db("$dbname"); if (!$select) die("Fehler bei mysql_connect #002".mysql_error()); $ip=getenv("REMOTE_ADDR"); $datum=date("Y.m.d"); $sql="INSERT INTO gb_blacksoul (name,email,hpage,kommentar,datum,ip,mirc) VALUES ('$name','$email','$hpage','".htmlentities($kommentar)."','$datum','$ip','$mirc')"; $resID=mysql_query($sql,$linkID); if (!$resID) die ("Fehler beim Eintragen #003".mysql_error()); else echo "Eintrag f?r $name erfolgt! "; mysql_close($linkID); }
Ich hab das jetzt eingef?gt..es geht aber auch das du einfach bei der Ausgabe des Textes den Kommentar in htmlentities() setz.
mfg mace -
jo vielen vielen dank hast mir echt geholfen al schauen obs geht
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage