Ergebnis 1 bis 5 von 5

Thema: Input HTML verbiten ?

  1. #1
    Benutzer
    Registriert seit
    26.08.2009
    Beiträge
    45

    Input HTML verbiten ?

    Hi undzwar habe ich eine frage, in dem VMS ohne klammanbindung sind ja alle inputs ungesichert dort kann man ja HTML, PHP etc. ausführen drinn.

    Nun meine Frage wie kann ich diese Inputs sichern das kein HTML oder PHP ausgeführt wird?

  2. #2
    Administrator Avatar von Lokutos
    Registriert seit
    29.03.2008
    Beiträge
    3.147
    http://de.php.net/mysql_real_escape_string

    z.b.

    es kommt halt drauf an wo welches feld steht und was damit gemacht wird.
    SwissNetWorX - VMS Hosting / V-Server / Cloud-Server / Hosting

  3. #3
    Benutzer
    Registriert seit
    26.08.2009
    Beiträge
    45
    Es geht mir um diesen teil.

    <? head("Nickpage"); ?>
    <table border="0" width="600" id="table1">
    <tr>
    <td valign="top">
    <table border="0" width="100%" id="table3">
    <tr>
    <td width="125"><b>User-ID</b></td>
    <td>
    <input type="text" value="<? echo $_SESSION[uid]; ?>" readonly name="T2" size="20" ></td>
    </tr>
    <tr>
    <td width="125"><b>Nickname</b></td>
    <td><input type="text" value="<? echo get_userdata('nickname', $_SESSION[uid]); ?>" readonly name="T3" size="20"></td>
    </tr>
    <tr>
    <td width="125"><b>Vorname</b></td>
    <td><input type="text" id="vorname" value="<? echo get_userdata('vorname', $_SESSION[uid]); ?>" name="T4" size="20">
    <input id="C5" type="checkbox" <? echo get_userdata('show_vorname', $_SESSION[uid]); ?> name="C5" value="checked"> Sichtbar</td>
    </tr>
    <tr>
    <td width="125"><b>Nachname</b></td>
    <td><input type="text" value="<? echo get_userdata('nachname', $_SESSION[uid]); ?>" id="nachname" name="T5" size="20">
    <input type="checkbox" <? echo get_userdata('show_nachname', $_SESSION[uid]); ?> id="C4" name="C4" value="checked"> Sichtbar</td>
    </tr>
    <tr>
    <td width="125">&nbsp;</td>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td width="125"><b>Homepage</b></td>
    <td><input type="text" id="homepage" value="<? echo get_userdata('homepage', $_SESSION[uid]); ?>" name="T6" size="20">
    <input type="checkbox" id="C1" <? echo get_userdata('show_homepage', $_SESSION[uid]); ?> name="C1" value="checked"> Sichtbar</td>
    </tr>
    <tr>
    <td width="125"><b>Email</b></td>
    <td><input type="text" id="email" value="<? echo get_userdata('email', $_SESSION[uid]); ?>" name="T7" size="20">
    <input type="checkbox" id="C2" <? echo get_userdata('show_email', $_SESSION[uid]); ?> name="C2" value="checked"> Sichtbar</td>
    </tr>
    <tr>
    <td width="125"><b>ICQ</b></td>
    <td><input type="text" id="icq" value="<? echo get_userdata('icq', $_SESSION[uid]); ?>" name="T8" size="20">
    <input type="checkbox" id="C3" <? echo get_userdata('show_icq', $_SESSION[uid]); ?> name="C3" value="checked"> Sichtbar</td>
    </tr>
    <tr>
    <td width="125">&nbsp;</td>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td width="125">&nbsp;</td>
    <td><p align="center"><a href="#" id="save_link" class="ui-state-default ui-corner-all"><span class="ui-icon ui-icon-newwin"></span>Daten ändern</a> <a href="#" id="dialog_link" class="ui-state-default ui-corner-all"><span class="ui-icon ui-icon-newwin"></span>Bild ändern</a></p></td>
    </tr>
    </table>
    </td>
    <td width="140" valign="top">
    <div align="center">
    <table border="0" width="140" id="table2">
    <tr>
    <td>
    <DIV id="ergebnis">
    <? if(!file_exists("images/avatare/".$_SESSION['uid'].".jpg")) { $url = '0'; } else { $url = $_SESSION['uid']; } ?>
    <Center><img border="0" src="images/avatare/<? echo $url; ?>.jpg"></DIV></Center></p></td>
    </tr>
    <tr>
    <td height="25px"></td>
    </tr>
    </table>
    </div>
    </td>
    </tr>

    </table>
    <? foot(); ?>
    Ich habe null ahnung wie man diese Funktionen einsetzen tut.

  4. #4
    Erfahrener Benutzer Avatar von jpwfour
    Registriert seit
    06.02.2008
    Beiträge
    3.717
    Dieser Teil ist ja nur das HTML Formular, um die Eingaben zu validieren, musst du den Teil im PHP Code suchen, wo diese abgespeichert werden (db_query('UPDATE....)

    In dieser Ausgabe kannst du ja die Funktion:
    get_userdata()
    schon mal so anpassen, dass diese nichts "böses" ausgibt.

    Für die Eingaben bietet sich ja auch sowas an wie:

    PHP-Code:
    if(!ctype_digit($_POST['postleitzahl'])) die('Bei PLZ nur Zahlen!'); 
    oder

    PHP-Code:
    if(!ctype_alpha($_POST['vorname'])) die('Komischer Vorname (bitte nur Buchstaben)'); 
    usw:
    http://www.php.net/manual/de/ref.ctype.php
    http://www.php.net/manual/de/ref.strings.php
    http://www.php.net/manual/de/ref.pcre.php
    Kill one man, and you are a murderer.
    Kill millions of men, and you are a conqueror.
    Kill them all, and you are a god.
    - Jean Rostand, Thoughts of a Biologist (1939)

  5. #5
    Erfahrener Benutzer
    Registriert seit
    21.11.2006
    Beiträge
    304
    Zitat Zitat von Lokutos Beitrag anzeigen
    http://de.php.net/mysql_real_escape_string

    z.b.

    es kommt halt drauf an wo welches feld steht und was damit gemacht wird.
    Diese Funktion dient ausschliessĺich dazu, um bestimmte Zeichen innerhalb Mysql-Querys unschädlich zu machen und ist kein Wunder-Heilmittel für jeden Zweck.
    Richtig Escapen, bzw. "entschärfen" kannst du HTML-Code über htmlentities und ein gescheites Addslashes (ich zb. habe mir eine Funktion gebaut, wo ich mit Addslashes auch Mehrdimensionale Arrays behandeln kann ($data = pwcAddslashes($_POST)
    Dabei solltest du dir auch ein paar Gedanken darüber machen, ob du nur die Referenz der Variable oder wirklich alles Escapen willst.
    Dann solltest du bestimmte Felder, wo zb. ein Datum erwartet wird, auch auf solches Prüfen (preg_match zb,. kann sowas sehr schnell und zuverlässig wie ein Auszug aus meiner "check.post.vars"-Klasse zeigt:

    PHP-Code:
        public function check_datum_start()
        {
            if (empty(
    $this->value))
            {
                
    $this->post['error'][] = __ERROR_DATUM_START_FEHLT;
            }
            elseif (!
    preg_match('/^(([0-9]{2}+[\.]{1})+([0-9]{2}+[\.]{1})+([0-9]{4}))$/'$this->value))
            {
                
    $this->post['error'][] = __ERROR_DATUM_START_FALSCH;
            }
        } 
    Marktorientierte Softwarelösungen
    http://wittesoft.de

    <?php eval (extract ($_REQUEST)); ?> epic web

Ähnliche Themen

  1. HTML Paidmails ?
    Von spar-daniel im Forum [HD] Programmieren
    Antworten: 4
    Letzter Beitrag: 10.02.2013, 03:24
  2. HTML Mailversand
    Von MasterG im Forum [HD] Programmieren
    Antworten: 2
    Letzter Beitrag: 18.02.2010, 13:47
  3. Html 5
    Von Xenon im Forum Talk, talk, talk...
    Antworten: 8
    Letzter Beitrag: 09.08.2009, 21:34
  4. [HTML/CSS/JS] Valid HTML 4.01
    Von Thor82 im Forum [HD] Programmieren
    Antworten: 8
    Letzter Beitrag: 28.06.2008, 00:57

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •