Tom: Formulardaten entschärfen

Beitrag lesen

Hello Axel,

php-code in der übergabe - wen kümmert's? wenn du nicht nachher irgendeinen unfug in der form eval($datenbankinhalt) machst, sollte dich das doch recht wenig interessieren müssen ...
Hm. Nein. Traue niemandem. Validiere allen Input oder stirb.
Bsp.:


<input type="text" name="var"
       value="<?php echo $_REQUEST['var']; ?>"/>

Jetz gebe ich in das Textfeld ein:

"/><script>while(true){}</script>

Das macht ja auch kein vernünftiger Mensch.

1. > <input type="text" name="var" value="<?php echo htmlentities(strip($_POST['var']); ?>"/>

( strip zieht optional die Backslashes, wenn get_magic_quotes_gpc() )

2. &quot;/&gt;&lt;script&gt;while(true){}&lt;/script&gt;

Nun sag mir mal, was daran für wen gefährlich werden kann.

Man sollte aber in an der passenden Stelle das richtige mit den Daten veranstalten uns sie nicht irgendwo zwischendrin "verkurbeln".

In die Datenbank gehören Rohdaten.
Dazu muss man

  • die allegemeinen magic_quotes bei Bedarf entfernen oder ausschalten
  • die passende Escapesequenz für die Datenbankschnittstelle benutzen.
      die escapes werden ja dort wieder entfernt und nicht mit abgespeichert.
      genauso soll es sein.

Harzliche Grüße aus http://www.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau