Gästebuch Sicherheit

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Fire_Bird, 8. Mai 2008 .

  1. 8. Mai 2008
    Hey RR

    Hab vor kurzem im Showcase Bereich meine HP gepostet.

    Das Problem, dass ich festgestellt hab ist, dass mann in meinem Gästebuch in den Beiträgen JS Befehle schreiben kann, die auch als JS Befehle interpretiert werden.

    Das find ich jedoch schlecht, weil dann jede Person, die auch nur ein bisschen was von PHP versteht, alerts und weiss ich was einbauen kann.

    Wie kann ich das verhindern, sprich dass alles als Text wiedergegeben wird und nicht als Script interpretiert wird?

    das ist der komplette Seitenquellcode:


    Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta http-equiv="Content-Language" content="de-ch" />
    <title>Guestbook</title>
    <link rel="stylesheet" type="text/css" href="stylsheet.css" />
    <script type="text/javascript">
    function test(formular) {
    
     if(formular.Anrede.options[formular.Anrede.selectedIndex].value=="keine_auswahl") 
     {
     alert("Bitte wählen Sie eine Anrede!");
     return false;
     }
     
     if (formular.Vorname.value=="")
     {
     alert("Bitte Vorname eingeben!");
     formular.Vorname.focus();
     return false;
     }
    
     if (formular.Nachname.value=="")
     {
     alert("Bitte Nachname eingeben!");
     formular.Nachname.focus();
     return false;
     }
    
    /*Mail prüfen*/
    var reg_mail = /.+@+.+\.+./;
    if (!reg_mail.exec(formular.Email.value))
     {
     alert("Ungültige E-Mail-Adresse");
     formular.Email.focus();
     return false;
     }
    
     if (formular.Mitteilung.value=="")
     {
     alert("Bitte eine Mitteilung angeben!");
     formular.Mitteilung.focus();
     return false;
     }
     
     return true;
    }
    </script>
    
    </head>
    
    <body>
    
    <table id="tabelle_aussen">
    
     <tr>
     <td class="banner">
     <img alt="Banner" longdesc="Banner" src="Bilder/Banner_bearbeitet-1.gif" width="900" height="200" /></td>
     </tr>
     <tr>
     <td>
     <table id="tabelle_hauptnavi">
     <tr>
     <td class="navigationsspalte">
    
     <a title="Home" class="hauptnavi" href="index.htm">Home</a></td>
     <td class="navigationsspalte">
     <a title="My Biography" class="hauptnavi" href="biography.htm">
     Biography</a></td>
     <td class="navigationsspalte">
     <a title="All my events" class="hauptnavi" href="events.htm">
     Events</a></td>
    
     <td class="navigationsspalte">
     <a title="My photos and links" class="hauptnavi" href="gallery.htm">
     Gallery</a></td>
     <td class="navigationsspalte">
     <a title="Here you can book me" class="hauptnavi" href="booking.htm">
     Booking</a></td>
     <td class="navigationsspalte">
     <a title="Here you can buy t-shirts" href="shop.htm" class="hauptnavi">
    
     Shop</a></td>
     <td class="navigationsspalte">
     <a title="Write something into my guestbook" id="aktiver_link" class="hauptnavi" href="gaestebuch_abfragen.php">Guestbook</a></td>
     </tr>
     </table>
     </td>
     </tr>
     <tr> 
     <td class="tabelle_inhalt_links">
    
     <table id="tabelle_inhalt">
     <tr>
     <td class="thementitel_inhalt">Gästebuch</td>
     </tr>
     </table>
     <br />
     <form method="post" action="gaestebuchinput.php" onsubmit="return test(this)">
     <table id="gaestebuch_post">
    
     <tr>
     <td>Anrede</td>
     <td><select name="Anrede" size="1">
     <option value="keine_auswahl">Bitte auswählen</option>
     <option>Frau</option>
     <option>Herr</option>
     <option>Firma</option>
    
     </select></td>
     </tr>
     <tr>
     <td>Vorname</td>
     <td><input name="Vorname" type="text" size="20" /></td>
     </tr>
     <tr>
     <td>Nachname</td>
    
     <td><input name="Nachname" type="text" size="20" /></td>
     </tr>
     <tr>
     <td>Email</td>
     <td><input name="Email" type="text" size="20" /></td>
     </tr>
     <tr>
     <td>Mitteilung</td>
    
     <td><textarea name="Mitteilung" cols="40" rows="4"></textarea></td>
     </tr>
     <tr>
     <td>&nbsp;</td>
     <td><input name="B1" type="submit" value="Absenden" /></td>
     </tr>
     </table>
     </form>
    
     <br />
     
    Datensätze in der Tabelle beitraege: 2.<p><table id="gaestebuch_abfragen">
     <tr>
     <td class="gaestebuch_abfragen1" >
     Eintrag</td>
     <td class="gaestebuch_abfragen2" >5</td>
     </tr>
    
     <tr>
     <td class="gaestebuch_abfragen1" >
     Autor</td>
     <td class="gaestebuch_abfragen2" >Sebastian Widler</td>
     </tr>
     <tr>
     <td class="gaestebuch_abfragen1" >
     E-Mail</td>
    
     <td class="gaestebuch_abfragen2" >sebastian.widler@hotmail.com</td>
     </tr>
     <tr>
     <td class="gaestebuch_abfragen_Beitrag_1" >
     Beitrag</td>
     
     <td class="gaestebuch_abfragen_Beitrag_2" >
    Hey, geili Au vo minere Site, Herzlich willkommen!<br><br>
    </td>
    
     </tr>
     <tr>
     <td class="gaestebuch_abfragen1" >
     Erfasst</td>
    
     <td class="gaestebuch_abfragen2" >07.05.08, 23:42:37</td>
     </tr>
    </table>
    
    <p></p>
    <table id="gaestebuch_abfragen">
     <tr>
     <td class="gaestebuch_abfragen1" >
     Eintrag</td>
     <td class="gaestebuch_abfragen2" >1</td>
     </tr>
     <tr>
     <td class="gaestebuch_abfragen1" >
    
     Autor</td>
     <td class="gaestebuch_abfragen2" >Remo Spirig</td>
     </tr>
     <tr>
     <td class="gaestebuch_abfragen1" >
     E-Mail</td>
     <td class="gaestebuch_abfragen2" >remo_spirig@msn.com</td>
    
     </tr>
     <tr>
     <td class="gaestebuch_abfragen_Beitrag_1" >
     Beitrag</td>
     
     <td class="gaestebuch_abfragen_Beitrag_2" >
    Das Gästebuch ist nun offiziell eröffnet!
    </td>
     </tr>
     <tr>
    
     <td class="gaestebuch_abfragen1" >
     Erfasst</td>
    
     <td class="gaestebuch_abfragen2" >07.05.08, 17:05:52</td>
     </tr>
    </table>
    
    <p></p>
     <br />
     <br />
    
     </td>
     </tr>
     <tr>
     <td class="fusszeile" >Webmaster
     <a title="Contact the webmaster" href="mailto:remo_spirig@msn.com?subject=Feedback Homepage" class="fusszeile">
     Remo Spirig</a> &amp;
     <a title="Contact the webmaster" href="mailto:sebastian_widler@hotmail.com?subject=Feedback Homepage" class="fusszeile">
     Sebastian Widler</a> ©</td>
    
     </tr>
    </table>
    
    </body>
    
    </html>
    
     
  2. 8. Mai 2008
    AW: Gästebuch Sicherheit

    Mögliche PHP Funktionen die du dir mal anschaun solltest:

    stripslashes(); - addslashes();
    mysql_real_escape_string();
    html_entities();

    o.Ä. es gibt wirklich viele Wege!
     
  3. 16. Mai 2008
    AW: Gästebuch Sicherheit

    Besten dank.
    Hab nun ne Escape Funktion eingebaut.

    Was ich nun noch brauch ist ein Captcha und gut ist (hoff ich mal )
     
  4. 16. Mai 2008
    AW: Gästebuch Sicherheit


    Bin leider noch nicht sooo der Held im Webbereich.

    Könntest du mir die genanne(n) funktionen in meinen Code einbauen?
    Wär echt verdammt net!

    Oder ne Seite zeigen wo's erklärt steht.
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.