Sven Rautenberg: Quellcode

Beitrag lesen

Moin!

Datei header123.inc:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
</HEAD>
<body> 
<? 
echo ("<div>Mein Text</div>");
?>
</body>
</html>

Es ist schlechte Praxis, wenn man Dateien, die PHP-Code enthalten, nicht mit der Dateiendung "php" versieht.

Der Grund ist, dass ohne Endung "php" die Datei nur dann als PHP interpretiert werden kann, wenn sie via include()/require() eingebunden wird - aber nicht, wenn man sie aufgrund irgendeines blöden Zufalls via URL direkt anspricht. Denn der Webserver ist gewöhnlich so konfiguriert, dass er nur Dateien mit der Endung "php" an den Parser schickt, alles andere aber nicht.

Auf diese Weise könnte man also an eventuell wichtigen Quellcode gelangen, indem man die Datei "header123.inc" direkt im Browser aufruft.

Das tatsächliche Problem hier ist zwar das Verwenden von Short-Open-Tags, die nicht zum Server-Setting von PHP passen, es ist aus Sicherheitsgründen aber ebenfalls zu vermeiden.

Eben gerade weil man sich bei den Einstellungen von PHP auch nicht sicher sein kann, ob die Short-Open-Tags funktionieren oder nicht, sollte man sie ebenfalls vermeiden.

Damit sind übrigens seit PHP 5.4 nur noch die hier gemeint: <? ?>. In PHP 5.3 und vorher allerdings AUCH die hier: <?= $var ?> - letztere sind aber nur als Kurzform von <?php echo $var ?> zu gebrauchen.

Mit anderen Worten: Ab PHP 5.4 kann man ohne Angst diese beiden Formen nutzen: <?php ?> und <?= $var ?>. In PHP 5.3 konnte man nur die erste Form bedenkenlos nutzen.

Letzte Bemerkung: Warum zum Kuckuck hast du noch PHP 5.2 installiert? Es ist langsam und hat sehr wichtige Features nicht, allen voran Namespaces! Heutzutage will man eigentlich schon PHP 5.5 nicht mehr nutzen, das wird seit 10. Juli 2015 nur noch mit Security-Patches versorgt und ist (Stand heute) in 10 Monaten am Ende seiner Lebensdauer.

Ein PHP-Hoster sollte heutzutage mindestens PHP 5.6 anbieten, und schon mal Äußerungen hinsichtlich PHP 7 getätigt und diesbezügliche Anfragen nicht mit Stirnrunzeln beantwortet haben.

Grüße Sven