![]() |
[PHP] Strings entschärfen
Hallo,
ich programmiere schon etwas länger PHP, habe aber nie so richtig den Sicherheitsaspekt behandelt. Ich bin gerade dabei, String zu entschräfen, damit diese die Datenbank und meine Seite (XSS etc) nicht gefährden. Dafür behandle ich jeden String folgendermaßen:
Code:
Zahlen werden erst mit intval($_REQUEST['zahl1']) eingelesen und Radio- sowie Checkboxen werden auf ihre tatsächlichen Werte überprüft.
$text = strip_tags(addslashes(htmlentities($_REQUEST['text'])));
if(strlen($text) > 15) { die("CSS-HACK"); } Mir geht es hauptsächlich um die Stringbehandlung. Wenn zu den anderen Methoden was anzumerken ist, lese ich das aber auch gerne! Dankeschön |
Re: [PHP] Strings entschärfen
Speziell für MySQL als Datenbank gabs da auch direkt
![]() (mit addslashes etc. verhampelt man sich so schnell beim hin- und zurück) |
Re: [PHP] Strings entschärfen
Stimmt genau! Das habe ich total vergessen. Aber sonst ok?
|
Re: [PHP] Strings entschärfen
Kurzum:
Dann jeden String, der in ne SQL-Abfrage wandert mit mysql_real_escape_string() escapen, und fertig ist dein Schutz gegen Cross-Site-Scripting (XSS) und SQL-Injection :) Greetz alcaeus |
Re: [PHP] Strings entschärfen
Oh, so "einfach"? Hätte gedacht, dass man da mehr beachten muss.
|
Re: [PHP] Strings entschärfen
Mist, und ich habe mich im Quelltext und ein "X" verschrieben. Meine natürlich, wie ich es auch im Text geschrieben habe, XSS *g*
ACHSO: was hat das mit den Zeilenumbrüchen auf sich? Danke |
Re: [PHP] Strings entschärfen
Ich habe mir jetzt daraus eine Funktion gebastelt, die auch die Länge des Strings überprüft (wegen XSS)... ist diese Funktion in Ordnung?
Code:
Nur das mit den Leerzeichen in ein Format bringen habe ich nicht ganz so verstanden? Warum ist das gefährlich? Was kann passieren? etc...
function disarmstring($string, $len = NULL)
{ $result = str_replace(array("\n\r", "\r"), "\n", $string); $result = trim($result); $result = htmlspecialchars($result); if(strlen($string) > $len) { return false; } else { return $result; } } Danke |
Re: [PHP] Strings entschärfen
Handelt sich warscheinlich nur um nen tippfehler, aber heisst das nicht "\r\n" an Stelle von "\n\r"?
|
Re: [PHP] Strings entschärfen
Das kann ich dir nicht sagen. Verstehe, wie oben beschrieben, den Sinn nicht, wieso das genormt werden soll.
|
Re: [PHP] Strings entschärfen
Weil man dann nur mit Linux-Umbrüchen arbeitet. Und die (afaik von keinem Betriebssystem eingesetzten) \r-Zeichen gleich mit ummodelt.
Damit wird der string einfach konsistent. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz