PHP im Bodybereich nicht zu lassen

peper

Erfahrenes Mitglied
Hi,

ich würde gerne auschließen das einer in einem Text der in meine SQL Tabelle geschickt wurde. PHP Text steht.

Der inhalt soll den Body teil einer PHP Datei füllen.
Allerdings nur in HTML und nicht in PHP.

Ich brauche allerdings für den Footer und für den Header der Datei PHP.

Was kann ich da machen?

LG Lars
 
Eigentlich ist es nicht gefährlich, wenn fremder PHP-Code in der Datenbank steht, solange dieser nicht ausgeführt wird.
 
Wenn ich ihn aber in meinem Body bereich ausgeben lasse wird er doch auch ausgeführt oder

LG Lars
 
Nein. Ein einfaches Beispiel:
PHP:
$string = 'echo "Hallo Welt";';
echo $string;

$string = '<?php echo "Hallo Welt!"; ?>';
echo $string;
Zusätzlich sollte noch mit der htmlspecialchars()-Funktion gearbeitet werden, also:
PHP:
echo htmlspecialchars($string);
 
Genau, der Code wird ja nich in die Datei geschrieben und dann mit geparst, sondern als ganz normaler String verarbeitet.
 
Oki das mit dem string hab ich denke ich verstanden.
Aber das mit htmlspecialchars was bringt das
Der Html code soll beachtet ja ausgeführt werden^^

LG Lars
 
Ah ok . Ja dann kannst du das nicht anwenden, bzw vieleicht solltest du eine Weiche bauen, wo erkannt wird ob html enthalten ist oder nicht und dann die entsprechenden Stellen getrennt von einander mit entsprechenden Funktionen bearbeiten um spezielle Zeichen in die dafür vorgesehenen quotes um zu wandeln. Oder html komplett von dem Inhalt aus der db trennen ..

Du musst auf jeden Fall was dagegen unternehmen das Anführungszeichen den string vorzeitig unterbrechen und somit einen parse error verursachen ... theoretisch wäre es sogar möglich da doch ausfühbaren php-code einzuschläusen wenn ich mich gerad nich irre. Nämlich in dem man in dem Text in der Datenbank einfach folgendes reinschreibt:

HTML:
.....text"; echo "deine seite wurde gehackt,und hier könnte schädlicher code stehen"; echo".....

Bin mir gerad nich so sicher aber is ja auch schon spät ^^


MfG
blueX
 
Zuletzt bearbeitet:
Dann wird dieser Text ganz einfach wie er dort steht ausgegeben. Nur falls dies im Zusammenhang mit der eval()-Funktion eingesetzt wird, kann Schadcode eingeschleust und ausgeführt werden.
 
Nein. Nur falls die Eingaben von dir mit der eval()-Funktion verarbeitet würden, müsstest du PHP-Code herausfiltern.
 
Zurück