URL eingabe Prüfen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • URL eingabe Prüfen

    Ich habe da ein kleines Sicherheits problem in meinem Gästebuch.

    Also es ist bei dem CMS welches ich verwende möglich JS in die URL zeile einzugeben, das möchte ich gerne verhindern.
    Also bräuchte ich eine Abfrage ob es sich um eine richtige URL handelt.

    Dazu volgendes:
    Das ist die orginal abfrage:
    PHP-Code:
    if ($_POST['gbook_hpage']!=''$gbook_hpage=htmlentities($_POST['gbook_hpage']);
     elseif (
    $USER['hpage']!=''$gbook_hpage=$USER['hpage']; 
    meine nicht wikrlich super gelöste abfrage ist die:
    PHP-Code:
      if ($_POST['gbook_hpage']!=''$gbook_hpagehtmlentities(addslashes(str_replace
    ("'""",str_replace("<"""str_replace(">""",$_POST['gbook_hpage'])))));
     elseif (
    $USER['hpage']!=''$gbook_hpage=$USER['hpage']; 
    damit lösche ich einfach die eingabe von < und > und '
    damit man nur noch müll rausbekommt wenn man versucht JS oder SQL injektion eintragen möchte.

    Aber wie kann ich das grundsätzlich machen?
    Am besten wenn ihr ne lösung habt an den oben stehenden coden zeigen denn ich habe immer etwas probs mit dem umsetzen

    Es müsste ja mit if(!ereg gehen, aber ich weis nicht was ich da reinmachen muss....
    Zuletzt geändert von Musel; 13.01.2006, 23:59.

  • #2
    Gegen SQL-Injection hilft mysql_real_escape(), gegen Javascript einfache Stringmanipulation. Allerdings gehts doch hier um das URL-Eingabefeld oder?
    Du könntest auch parse_url() darauf anwenden und prüfen was rauskommt.
    Allerdings kommen < und > in validen URL nicht vor, weswegen man einfach darauf prüfen könnte und ggf. die Formulardaten verwerfen.

    Übrigens wäre es nett, wenn du deinen Code so umbrichst, dass man nicht mehr nach rechts scrollen muß. Danke!

    Kommentar


    • #3
      Re: URL eingabe Prüfen

      Den code habe ich mal umgebrochen auch wenn er jetzt technisch verkert ist

      Aber ich habe noch mehr geschrieben

      Original geschrieben von Musel
      ...

      Aber wie kann ich das grundsätzlich machen?
      Am besten wenn ihr ne lösung habt an den oben stehenden coden zeigen denn ich habe immer etwas probs mit dem umsetzen

      Es müsste ja mit if(!ereg gehen, aber ich weis nicht was ich da reinmachen muss.... [/B]
      Und ja es ist eine eingabe
      die hier
      Code:
      <input type="text" size="30" name="gbook_hpage" value="$gbook_hpage" style="width:90%" /></td>
      und oben halt der php code dazu... ich möchte doch nur ne prüfung drin haben ob es sich bei der eingabe um a-z und 0-9 bzw noch . und / handelt nur wie setze ich das in die Zeilen oben um?

      Kommentar

      Lädt...
      X