Link der Navigation im Mittelfeld ausgeben lassen
-
-
Ich gebe es auf, ist mir zu hoch langsam. Vielleicht hat mein Arbeitskollege noch eine Idee. Trotzdem vielen Dank dir!
-
Ich glaube so langsam zu verstehen was du willst
Ich schreib dir noch ein Beispiel, hoffe das ist dann das was du erwartest -
http://mediaone.me.funpic.de/w…/templates/hp33/index.htm
Egal wo man Links oder Rechts klickt, öffnet sich alles in der Mitte.
-
Das Bekommst du jetzt
Hier die Datei
index.php
HTML
Alles anzeigen<?php /* Die folgende Zeile durch folgendes ersetzten, wenn alles funktioniert: error_reporting(0); */ error_reporting(E_ALL); /*Der pfad (ordner) zu den Inhalts-Dateien, Absolut vom server aus (ohne serverAdresse) * Also Beispiel: * Die Datei liegt hier : www.example.de/loool/daten/datei.php * Muss das folgende so aussehen: * $Pfad = "loool/daten"; */ $pfad = "loool/daten"; /* Datei die auf der normnalen Index.php geladen werden soll (home) * Datei Name: home.php * $home = "home"; */ $home = "home"; /* Datei die auf der 404 meldungsseite geladen werden soll (nicht gefunden) * Datei Name: 404.php * $fail = "404"; */ $fail = "404"; /* NIX ÄNDERN! */ $server = $_SERVER['SERVER_NAME']; $site = $_GET['inc']; /* Das hier ist die besagte Zeile 28 ; Sicherheits Bug gefixt .. */ $site = basename($site); if (empty($site)) {$site = $home;} $pfad = "$server/$pfad/$site.php"; if (file_exists($pfad)) { $content = file_get_contents($pfad); } else{ $pfad = "$server/$pfad/$fail.php"; if (file_exists($pfad)) { $content = file_get_contents($pfad); } } ?> <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Deine Seite</title> <meta charset="utf-8"> <style type="text/css"> *{ padding: 0; margin: 0; } aside{ width: calc(30% - 40px); margin-left: 20px; margin-right: 20px; float: left; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; padding: 40px; } section{ float: left; width: 40%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; padding: 40px; } </style> </head> <body> <header>Kopfbereich</header> <aside> <nav> <ul> <li><a href="index.php">Home</a></li> <li><a href="index.php?inc=kontakt">Schreib mir</a></li> </ul> </nav> </aside> <section> <?php echo $content; ?> </section> <aside> <nav> <ul> <li><a href="index.php?inc=anders">EIne andere Seite</a></li> <li><a target="_blank" href="google.com">Suche</a></li> </ul> </nav> </aside> </body> </html>
Und hier z.B.
home.phpHTML<h1>Wilkommen bei mir</h1> <article> <p> Gaaaaaaaanz viel Text , wieso man hier sein sollte. </p> </article>
Ungetestet, aber ich denke es geht. Wenn nicht, Fehlermeldung Posten..
Hoffe du verstehst es.. -
Hmm, dann baue ich mir eben mal ein ?inc=../../phperrors.log und gucke, ob das geht... vielleicht zerschießt es sogar den zusammengebauten Filepath, wer weiß...
Einfach, falls dein selbstgestückeltes Filesystem durch obigen Angriff platzt, noch eine zusätzlcihe Sicherung einbauenUm das zu verhindern könnte ich erst einmal die basename Funktion empfehlen.
PHP
Alles anzeigen$server = $_SERVER['SERVER_NAME']; $site = $_GET['inc']; $site = basename($site); /* Das hier kommt in die Zeile 28 von wolfs Skript */ if (empty($site)) {$site = $home;} $pfad = "$server/$pfad/$site.php"; if (file_exists($pfad)) { $content = file_get_contents($pfad); } else{ $pfad = "$server/$pfad/$fail.php"; if (file_exists($pfad)) { $content = file_get_contents($pfad); } }
-
Oppps, ich wusste das iwas noch fehlt.. Danke.
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!