htmlspecialchars
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anfrage
angreifer
bestehen
besucher
code
dank
einschleusen
flag
funktion
infiltration
injektion
kurze frage
nutzen
safe
sicherheit
text
tun
url
weiteren parameter
zusammenbau
-
Kurze Frage?
$text = htmlspecialchars($text);
Muss das noch bei PHP5 verwendent werden oder ist das bereits überflüssig geworden? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Mit der PHP-Version hat das gar nichts zu tun! Es geht hierbei um den Schutz vor XSS, bei dem ein Angreifer HTML-Code (im speziellen JavaScript-Code) in die Seite einschleusen könnte welcher dann beim Besucher ausgeführt wird… durch htlmspecialchars wird dies verhindert.
-
Es ist aber auf jeden Fall sinnvoll, die weiteren Parameter dieser Funktion zu nutzen, besonders das ENT_QUOTES-Flag.
-
Welche Angreifer HTML-Code gibst denn?
Welche PHP Funktionen kann man denn generel nutzen um sich vor was zu schützen?
Danke. -
generell sollte man immer aufpassen wenn inhalte vom user weiterverarbeitet werden...
also insbesondere bei der ausgabe von übergebenen werten, wie zb in formularen:
<?php // xss anfällig echo "Willkommen ".$_POST['name']." !"; // sicherer echo "Willkommen ".htmlspecialchars($_POST['name'], ENT_QUOTES, "UTF-8")." !"; ?>
und bei dem zusammenbau von mysql-querys, wie zb:
<?php // infiltration anfällig $query = "SELECT * FROM users WHERE user='".$_POST['user']."' AND password='".$_POST['password']."'"); // sicherer $query = sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'", mysql_real_escape_string($_POST['user']), mysql_real_escape_string($_POST['password'])); ?>
-
fitnesscall schrieb:
Welche Angreifer HTML-Code gibst denn?
Welche PHP Funktionen kann man denn generel nutzen um sich vor was zu schützen?
Danke.
Die Codes könnten aus javascript bestehen, wo deinen Besuchern dann ein Drive-By-Download angeboten wird, oder einem iFrame, womit man das selbe bezwecken kann.
Sollte nicht nur bei POST Anfragen gemacht werden, sondern ebenfalls bei GET Anfragen. REQUEST sollte eh nicht benutzt werden. Und auch Cookies sollten validiert werden, denn mit einem gefälschten Cookie könnte man ja auch SQL-Injektion betreiben bei entsprechenden Datenbankabfragen. -
Das verwende ich beispielsweise öfter mal:
function cleanUp($data) { $data = stripslashes($data); $data = strip_tags($data); // $data = mysql_real_escape_string($data); return $data; } if(isset($_GET)) $_GET = array_map("cleanUp", $_GET); if(isset($_POST)) $_POST = array_map("cleanUp", $_POST); if(isset($_REQUEST)) $_REQUEST = array_map("cleanUp", $_REQUEST);
Ist aber auch fallabhängig. Steigert in vielen Fällen ebenfalls die Sicherheit.
Mal davon abgesehen... "Überflüssig" wird eigentlich nichts. Irgendwann werden Funktionen als "veraltet" deklariert und in einer nachfolgenden PHP-Version entfernt.
Alles, was du verwenden kannst, ist auch nicht überflüssig. Mit PHP 5.4 beispielsweise wurde der Safe Mode entfernt. Der ist, um es in deinen Worten auszudrücken, überflüssig geworden.
Beitrag zuletzt geändert: 4.2.2013 18:33:09 von fabo -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage