kostenloser Webspace werbefrei: lima-city


Aufheben der Sicherheitslücke!

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    econline

    econline hat kostenlosen Webspace.

    Also bei tag/eingabe">Eingaben von Userseite, sollten die Gespeicherten Daten keine scripte, die den Quellcode beeinflussen enthalten sein. Sollte ein Script eingegeben werden, muss es durch Sicherheitsma?nahmen im eigenen Eingabescript abgesichert werden. Ich habe mal hier versucht so eine Ma?nahme zu treffen.

    Leider funktioniert das Script nicht ganz. Wenn ihr mir bei der Auffindung des Fehlers behilflich sein k?nntet, w?re das sehr nett. Ich denke, dass der Fehler im oberen Bereich ist, da das speichern und ausgeben ohne Pr?fung funktioniert.


    <?
    $location = "http://www.domain.de";
    $pretext = $HTTP_POST_VARS["kommentar"];

    $val = array('/^[a-zA-Z \.,;\"\'?\!\?]+$/', '/^[0-9-]+$/');

    if($text!=""){
    $text = "<font color='#FF0000'><b>Admin<b>: Bitte keine Script Eingabe!</font>";
    foreach($val as $k => $v){
    if(preg_match($v, $pretext)){
    $text = $pretext;
    break;
    }
    }
    $text = ereg_replace("\[:)\]","<img border='0' src='../grafik/smilavat/smile01.gif' width='15' height='15'>",$text);
    $text = nl2br($text);
    $text = stripslashes($text);

    $dat = fopen("$file","r+");
    $save_old = fread($dat, filesize($file)+1);

    $save_new = $save_old;
    $save_new .= "<p style='margin-left: 9; margin-right: 0; margin-top: 0; margin-bottom: 6' align='left'>".$text."</p>";

    rewind($dat);
    fwrite($dat, $save_new);
    fclose($dat);
    header("Location: $location");
    } else{
    header("Location: $location");
    }
    ?>
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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


  3. <?
    $location = "http://www.domain.de";
    $kommentar = htmlspecialchars($HTTP_POST_VARS[kommentar], ENT_QOUTES);
    echo $kommentar;

    fertig :D
    dadurch werden alle sojnderzeichen und so entfernt :thumb:
    sollte es ja auch, so hab ichs verstanden

    den rest kansnte ja selber hinzuf?gen :wave:
  4. Autor dieses Themas

    econline

    econline hat kostenlosen Webspace.


    dadurch werden alle sojnderzeichen und so entfernt :thumb:


    Welche Sonderzeichen sind damit gemeint? Also Punkt, Komma und so sollten eigentlich schon eingegeben werden k?nnen. aber so Scripting sollte nicht m?glich sein. W?rde es reichen wenn >< verboten w?rde und wenn ja, geht das mit dem was du geschrieben hast?
  5. jap
    htmlspecialchars entfernt alle html, java script, php etc. tags und so
    und wandelt alles in diese hier um &copy; f?r diese copyright zeichen z.b.
    voll genial :thumb:
  6. Autor dieses Themas

    econline

    econline hat kostenlosen Webspace.

    Es funktioniert nicht. Die Fehlermeldung ist:
    Warning: htmlspecialchars() expects parameter 2 to be long, string given in /home/webpages/lima-city/econline/html/btanetwork/800x600/savetext.php on line 7

    Warning: Cannot modify header information - headers already sent by (output started at /home/webpages/lima-city/econline/html/btanetwork/800x600/savetext.php:7) in /home/webpages/lima-city/econline/html/btanetwork/800x600/savetext.php on line 67
  7. Das passiert, wenn man Code einfach kopiert, statt zuerstmal zu verstehen

    $kommentar = htmlspecialchars($HTTP_POST_VARS[kommentar], ENT_QOUTES);

    Diese Funktion wirft einen Fehler. Warum?
    Die Antwort findest du hier:
    http://www.php.net/manual/de/function.htmlspecialchars.php

    ---
    Beschreibung

    string htmlspecialchars ( string string [, int quote_style [, string charset]])
    ----

    Der zweite Parameter muss eine Zahl sein, keine Zeichenkette.
    Doch woher kommt die Zeichenkette? Woher kommt eigentlich die Konstante?

    Die Antwort steht einige S?tze weiter auf der Webseite:
    ---
    und doppelten Anf?hrungsstriche behandelt werden sollen. Der Modus ENT_COMPAT (default) ist abw?rtskompatibel und behandelt nur die doppelten, nicht aber die einfachen Anf?hrungsstriche. ENT_QUOTES behandelt beide und ENT_NOQUOTES keine Art(en) von Anf?hrungszeichen.
    ---

    Nun vergleich mal die Konstante, die im Quelltext steht, mit dem die im Handbuch steht.

    Doch woher kommt der String?
    Auch darauf liefert das PHP-Manual eine eindeutige Antwort:
    http://www.php.net/manual/de/language.constants.php
    ---
    Falls Sie eine undefinierte Konstante verwenden nimmt PHP an, dass Sie den Namen der Konstanten selber meinen, genauso als ob Sie einen string (CONSTANT vs "CONSTANT") angegeben h?tten.
    ---

    Die nachfolgende Fehlermeldung ist die Folge der ersten.
  8. Autor dieses Themas

    econline

    econline hat kostenlosen Webspace.

    Aus dem Manual werde ich nicht schlau. (Das soll nicht hei?en das ich nichts in Manuals verstehe^^)

    Deshalb frage ich ja auch hier wo der fehler sein kann. Und es w?r sehr nett wenn mir jemand den string erkl?ren w?rde, was genau definiert werden muss.
  9. Ein simpler Tipp-Fehler: es mussen heissen ENT_QUOTES, nicht ENT_QOUTES

    Was den String angeht, PHP ist freundlich eine nicht definierte Konstante in eine Konstante umzuwandlen, der einen String enth?lt, dessen Inhalt der Namen der Kosntante ist.
    Die (falsche) Zeile sieht f?r PHP deshalb so aus:
    $kommentar = htmlspecialchars($HTTP_POST_VARS[kommentar], "ENT_QOUTES");
  10. Autor dieses Themas

    econline

    econline hat kostenlosen Webspace.

    Jo, danke! :thumb:

    Es war der Tipfehler. Es funktioniert jetzt. Man kann keine scriptings mehr in dem Formular machen. Danke nochmal an alle die mir geholfen haben. :xyxthumbs:

    Wenn ihr euch das mal anschauen wollt (bitte erst als Gast anmelden):
    http://econline.gotdns.com/btanetwork/800x600/bta_protokoll_bc_001.php



    EDit: Thema hat sich erledigt bzw. die Anfangsfrage ist beantwortet. Thread kann geschlossen werden.




    Beitrag ge?ndert am 19.01 09:56 von econline
  11. 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!