?go=news.php problem, und noch ein anderes Problem

Streiche:
PHP:
<?php 
$go = $_GET['go']; 
if (empty($go)) $go = "news.php"; 
?>
Setze:
PHP:
<?php 
$go = $_GET['go']; 
if (empty($go)) $go = "news"; 

if ($go=="news") include("news.php");
if ($go=="about") include("about.php");
?>
 
ja, aber wie kann ich machen dass es mehrere seiten sind, und ich hab kein bock unterseiten da hinzuschreiben,...
 
<?php
$go = $_GET['go'];
if (empty($go)) $go = "news.php";
include($go);
?>
^^ das geht, und hab prob 2. au gelöst , BIG THX
 
Das funktioniert. Sicher. Aber wie bereits oben beschrieben, ist das nicht die Methode der Wahl. Man kann als böser Bube jedes beliebige PHP-Skript auf deinem Server ausführen. Mach doch mal ein http://www.oezgueng.de/v3/index.php?go=http://www.tutorials.de (nur als Beispiel) und stelle dir jetzt vor, daß jemand nicht nur ein paar HTML-Daten einbinden möchte, sondern ein Skript mit Schadfunktion, das ginge genauso einfach. Und damit hat man im Prinzip volle Kontrolle über deinen Webserver und in der Regel gleich über die Datenbank mit, falls du damit mal etwas vorhast - denn die Zugangsdaten sind ja irgendwo in einem für PHP erreichbaren Pfad gespeichert.
 
Zuletzt bearbeitet:
Neben den Sicherheitshinweisen, die ich auch unterstreichen möchte, noch einer:
Statt einem einfachen & solltest Du &amp; im a-href nehmen, damit das Dokument html-Konform ist und auch jeder nicht so tolerante Browser die Links richtig setzt. Meines Wissens hatte irgendeine verbreitete Netscape-Version da ein gewisses Interpretationsproblem, was nicht heißt, dass der Browser sich da falsch verhalten hätte.
In der Adresszeile wird dann trotzdem das einfache & auftauchen, also nicht wundern.
 
Zurück