Daten aus mySQL Datenbank / HTML Tags

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von Malcolm, 24.06.2004.

  1. Malcolm

    Malcolm Thread Starter MacUser Mitglied

    Beiträge:
    511
    Zustimmungen:
    0
    MacUser seit:
    03.01.2004
    Hallo,

    ich hab ein kleines CMS geschrieben in dem verschiedene Leute online ihre Daten bzgl. einer Website aktualisieren können.
    Mein Problem ist, wenn jemand HTML Tags in seine Texte einstzt werden die nicht erkannt wenn ich die Tabelle mit PHP auslese. was kann ich da machen? Hat jemand ne idee?

    Und nochwas. In einem Gästebuch was ich mit PHP geschrieben hab ist es möglich seine Website anzugeben die dann neben dem Eintrag als Textlink angezeigt wird. Wenn man sie anklickt erscheint allerdings immer vor der Adresse noch meine Domain und der Link funktioniert so nicht.
    Vielleicht kann mir da auch jemand helfen...

    echo "<td valign='top'><a href='$web' target='_blank'>$web<//a><//td>";

    So sieht das aus, wenn jemand seine Adresse mit http:// davor postet geht alles wenn nichtt packt das PHP noch meine Domain davor...

    Weiss hier echt nicht mehr weiter.


    Danke.

    Matthias
     
  2. maceis

    maceis MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    MacUser seit:
    24.09.2003
    hallo Malocm,

    also vorab mal eins:
    wenn Du Deinen Benutzern erlaubst Daten einzugeben und Du diese ungefiltert übernimmst, kannst Du Dir echte Sicherheitsprobleme einhandeln; dies gilt verstärkt, wenn Du auch MySQL verwendest.

    So sieht das aus, wenn jemand seine Adresse mit http:// davor postet geht alles wenn nichtt packt das PHP noch meine Domain davor...
    [/QUOTE]
    So kannst Du prüfen ob http:// zu Beginn des Formularfeldes "web" eingegeben wurde (ich gehe von method="post" aus). Falls nicht setzt das Skript es selbst davor:
    PHP:
        <?php
            $link
    =$_POST["web"];
            
    $muster="/^http\:\/\/*/";
            if ((
    preg_match($muster$link)==0))
                {   
                    
    $link="http://".$link;
                    echo 
    $link;
                }           
                else    
                {       
                    echo 
    $link;
                }           
        
    ?>
    Grundsätzlich würde ich Dir empfehlen alle Benutzereingaben zu überprüfen, ob diese nur aus zulässigen Zeichen bestehen.
     
  3. Malcolm

    Malcolm Thread Starter MacUser Mitglied

    Beiträge:
    511
    Zustimmungen:
    0
    MacUser seit:
    03.01.2004
    da mach dir mal keine Gedanken, posten können da nur Leute den ich es auch erlaube ;-) Das mit dem checken ob da http eingegeben ist werd ich mal einsetzen..mal sehen obs klappt.

    Danke schonmal.
     
Die Seite wird geladen...

Diese Seite empfehlen