kostenloser Webspace werbefrei: lima-city


Cross side Scripting

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    blacksoul

    blacksoul hat kostenlosen Webspace.

    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>&nbsp;<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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 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.
  4. 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
  5. Autor dieses Themas

    blacksoul

    blacksoul hat kostenlosen Webspace.

    mace k?nntest du mir das in meinen code da oben einbauen damit w?rdest du mir echt helfen:cool:
  6. 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
  7. Autor dieses Themas

    blacksoul

    blacksoul hat kostenlosen Webspace.

    jo vielen vielen dank hast mir echt geholfen al schauen obs geht
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!