include()
Adrian
- php
Hallo!
Wenn ich die include()-Funktion benutze, dann verwende ich normalerweise .inc-Dateien oder für auszuführende PHP-Codes .php-Dateien.
Kann ich auch eine .htm-Datei einbinden, oder treten da Probleme auf?
Mit freundlichen Grüßen,
Adrian
Hallo!
Wenn ich die include()-Funktion benutze, dann verwende ich normalerweise .inc-Dateien oder für auszuführende PHP-Codes .php-Dateien.
Kann ich auch eine .htm-Datei einbinden, oder treten da Probleme auf?Mit freundlichen Grüßen,
Adrian
Du kannst alle Dateien einbinden, solange der Code für den jeweiligen Platz stimmt...
Hallo Freunde des gehobenen Forumsgenusses,
Wenn ich die include()-Funktion benutze, dann verwende ich normalerweise .inc-Dateien oder für auszuführende PHP-Codes .php-Dateien.
Generell sollte man Dateien, die keinen ausführbaren PHP-Code enthalten mit readfile einbinden und nicht mit include.
Gruß
Alexander Brock
Moin!
Wenn ich die include()-Funktion benutze, dann verwende ich normalerweise .inc-Dateien oder für auszuführende PHP-Codes .php-Dateien.
Kann ich auch eine .htm-Datei einbinden, oder treten da Probleme auf?
Der Dateiname spielt für die Funktionalität von include() keine Rolle.
Die Dateiendung hat nur eine Funktion, um dem Webserver mitzuteilen, welche Behandlung diese Datei bei der Auslieferung erfahren soll:
.php wird dabei üblicherweise durch den PHP-Interpreter geschickt.
.html wird mit dem Mime-Typ "text/html" versehen und direkt verschickt.
.gif wird mit dem Mime-Typ "image/gif" versehen und direkt verschickt.
.inc wird allerdings meist gar nicht besonders behandelt, sondern als "text/plain" gesendet - was schlecht ist, weil man, wenn man weiß, dass die Datei existiert, sie einfach direkt im Quelltext herunterladen kann.
Deshalb: Include-Dateien sollten in jedem Fall auch auf ".php" enden - können ja aber gerne zwei Endungen haben: "datei.inc.php" - damit wird der Quellcode nicht ausgeliefert, aber auch die Bedeutung deutlicher.
- Sven Rautenberg
Hallo Sven.
Deshalb: Include-Dateien sollten in jedem Fall auch auf ".php" enden - können ja aber gerne zwei Endungen haben: "datei.inc.php" - damit wird der Quellcode nicht ausgeliefert, aber auch die Bedeutung deutlicher.
Oder man verbietet die Auslieferung der Dateien mit der betroffenen Dateierweiterung.
Einen schönen Samstag noch.
Gruß, Ashura
hi,
Deshalb: Include-Dateien sollten in jedem Fall auch auf ".php" enden - können ja aber gerne zwei Endungen haben: "datei.inc.php" - damit wird der Quellcode nicht ausgeliefert, aber auch die Bedeutung deutlicher.
Oder man verbietet die Auslieferung der Dateien mit der betroffenen Dateierweiterung.
Diese Möglichkeit darf der Vollständigkeit halber gerne erwähnt werden - aber ich würde die von Sven genannte doch deutlich bevorzugen.
Nimm mal an, du machst ein Update des Projektes oder einen Umzug, wobei auch eine Anpassung deiner .htaccess-Datei(en) erforderlich wird - und dabei vergisst du dieses "Sperren" deiner .inc-Dateien.
Wie hoch ist die Wahrscheinlichkeit, dass du dies selber kontrollierst und entdeckt, bevor es jemand anderes tut ...?
Wenn dagegen der Server gleich so schlecht konfiguriert sein sollte, dass .php-Dateien gar nicht geparst werden, würdest du das vermutlich viel schneller merken - anhand deiner "normalen" Scripte, auch wenn du an die Überprüfung der include-Dateien gar nicht mehr denkst.
gruß,
wahsaga
Hallo wahsaga.
Nimm mal an, du machst ein Update des Projektes oder einen Umzug, wobei auch eine Anpassung deiner .htaccess-Datei(en) erforderlich wird - und dabei vergisst du dieses "Sperren" deiner .inc-Dateien.
Wie kann ich dies vergessen, wenn ich die .htaccess-Datei mitnehme?
Aber prinzipiell sprichst du hier durchaus eine Schwachstelle an.
Wie hoch ist die Wahrscheinlichkeit, dass du dies selber kontrollierst und entdeckt, bevor es jemand anderes tut ...?
Ich achte immer auf solche Kleinigkeiten und teste vielfach lokal, bevor ein Projekt hochgeladen wird.
Meist lege ich die einzubindenden Dateien aber in ein eigenes Unterverzeichnis und schotte dies vollständig vor HTTP-Zugriffen ab; hierdurch werden diese Dateien vor der Ansicht im Klartext geschützt und keinesfalls indiziert.
Einen schönen Sonntag noch.
Gruß, Ashura