URL vor Weiterverarbeitung checken

jemand anders

Erfahrenes Mitglied
Hallo,

beim Durcharbeiten des Codes in diesem Beispiel stellte sich mir die Frage, wie ich sicherstelle, dass ich mir nicht irgendeinen Schadcode einfange, der mein System crasht oder sonst etwas anstellt, wenn ich so eine URL speichere oder anders weiterverarbeite. Das gilt auch für Javascript, das in diesem Beispiel in Verbindung mit PHP verwendet wird.

Gibt es irgendwelche Funktionen für so etwas, oder muss man solche URL-Checks zu Fuß programmieren?

Gruß
 
Zuletzt bearbeitet:
Hallo phwert,
Falls du Angst hast das dir jemand PHP-Code unterjubelt und dieser dein System gefährdet, da kann man nur sagen "don't use eval, because it is evil". ;)
PHP nimmt den Inhalt als normalen Inhalt entgegen, als würde jemand in eine Textbox etwas eingeben.
Es müsste also dem PHP erst gesagt werden, das dieser Text als aktiven Code interpretiert werden soll, dafür ist die Funktion eval da. Diese macht in bestimmten Fällen Sinn, man sollte sie immer mit dem nötigen Respekt oder besser gar nicht nutzen.

Für die Angst das über den RSS-Feed noch JavaScript Code mitkommt.
Der JavaScript Code wird erst im Client (Browser) ausgeführt und dein Server kann da nichts passieren.
Um das zu verhindern kann man alles aus dem Feed noch escapen.
Ein Stichwort wäre da die Funktion htmlentities.

Ansonsten kann man nur zum Thema RSS-Feed nur sagen: nutze nur welche von seriösen Anbietern.

Ansonsten Funktionen die alles mit einmal Ausschließen gibt es in PHP nicht.
Es kann sein das es Frameworks bzw. Klassen existieren, die das alles übernehmen. Mir persönlich sind allerdings keine Bekannt.
 
Ansonsten Funktionen die alles mit einmal Ausschließen gibt es in PHP nicht.
Solche Funktionen würde auch keinen Sinne ergeben, da Maskierung immer kontextabhängig erfolgen muss. Es gibt viele verschiedene Kontexte: Ausgabe in HTML, XML, in einem SQL-String (dank Prepared Statements hoffentlich nicht mehr), in eine Datenbank, in eine Variable.

Es gibt also keine Wundermittel, sondern man muss die Verwendung von externen Eingaben (u. a. Nutzereingaben) durch das ganze Programm hindurch verfolgen und die kontextabhängige Maskierung sicherstellen.
 

Neue Beiträge

Zurück