Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Web Development
You last visited: Today at 02:41

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Mit PHP aus Unterordner inkludieren?

Discussion on Mit PHP aus Unterordner inkludieren? within the Web Development forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jul 2008
Posts: 80
Received Thanks: 17
Mit PHP aus Unterordner inkludieren?

Moin!

Ich habe da mal eine Frage, wie ich am elegantesten folgendes Problem lösen kann:

Also ich habe einen definierten Bereich für den Content auf der index.php.
Den Content inkludiere ich über folgendes:

HTML Code:
<!-- HIER WIRD DIE JEWEILIGE CONTENT PHP-DATEI INKLUDIERT -->
    <div id="content">
        <?php
                    if (isset($_GET['site']))
                    { include('site/'.$_GET['site'].'.php');}
                    else { include('site/home.php');}
            ?>
    </div>
<!-- HIER ENDET DIE INKLUDIERUNG -->
Das heißt, wenn ich jetzt z.B auf den Link "Impressum" in meiner Navigation klicke, dass der Header und Footer gleich bleiben, lediglich der Inhalt der impressum.php in das div für den content eingefügt wird.

Die Lösung mit dem &_GET['site'] setzt allerdings voraus, dass alle Seiten die ich inkludieren will im Verzeichnis "site" sind wie es mir scheint.

Jetzt möchte ich allerdings auch Seiten inkludieren aus einem Unterverzeichnis von site.
Also beispielsweise aus dem Verzeichnis cat die datei abc.php
(../site/cat/abc.php)

Ich hab null Plan wie ich das anstellen soll das es ordentlich geht, denn was PHP angeht benutze und lerne ich eigentlich größtenteils nur mit snippets ^^


mfg
Th33xitus is offline  
Old 09/24/2013, 01:25   #2
 
.StarSplash's Avatar
 
elite*gold: 74
The Black Market: 185/0/0
Join Date: Jul 2010
Posts: 13,408
Received Thanks: 3,943
Eine andere Lösung, als das Verzeichnis vorher mit PHP zu durchlaufen und die gefundenen (.php)Dateien mit Pfadangabe in ein Array zu schreiben und dann im Inklude auf dieses zurückzugreifen fällt mir so spontan nicht ein, damit sollte es aber in jedem Falle gehen.
.StarSplash is offline  
Old 09/24/2013, 01:28   #3
 
tolio's Avatar
 
elite*gold: 2932
The Black Market: 169/1/0
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
../ voranschreiben sollte klappen
tolio is offline  
Old 09/24/2013, 07:45   #4
 
elite*gold: 59
Join Date: Aug 2009
Posts: 1,595
Received Thanks: 490
hat nix mit dem Thema zu tun aber bitte sicher die GET Variable noch ab..
.Tear is offline  
Thanks
1 User
Old 09/24/2013, 07:49   #5
 
mhaendler's Avatar
 
elite*gold: 0
Join Date: Jul 2008
Posts: 1,826
Received Thanks: 226
Es gibt verschiedene Möglichkeiten wie du das ganze realisieren kannst:

1. Ein Array mit allen Pfadangaben für die Seiten und du holst dir einfach den "Key" über das Get und greifst damit auf den Value des Arrays zu.

PHP Code:
$array=('abc' => 'site/cat/abc.php'); include($array[$_GET['site']]); 
Allerdings glaube ich bei dir liegt es nicht an der Art wie du das ganze includierst sondern eher an dem Problem mit der Pfadangabe kann das sein?

Pauschal kann man es so sagen:

[..] <- Das bedeutet du möchtest in das Verzeichnis einer höheren Ebene
[./] <- Das bedeutet du möchtest in dem selben Verzeichnis etwas öffnen
[../img] <- Du möchtest im übergeordneten Ordner den Ordner img öffnen

EIne besonderheit des aktuellen Ordners ist du musst kein ./ angeben das heißt (man geht immer) von dem aktuellen Skript aus (also wo es liegt)

Du möchtest in den Ordner "Site": /site
Du möchtest dort im Ordner "Site" in den Ordner "Cat": /site/cat
Du möchtest im Ordner Cat die Datei "abc.php" öffnen: /site/cat/abc.php

Hoffe ich konnte dir bei deinem Problem helfen, falls ich etwas falsches gesagt habe weißt micht bitte hin, denn auch ich mache Fehler
mhaendler is offline  
Old 09/24/2013, 15:11   #6
 
elite*gold: 0
Join Date: Jul 2008
Posts: 80
Received Thanks: 17
Danke schon einmal an alle Antworten.
Ich werde einige Sachen versuchen und mich dann noch einmal zurückmelden ob es geklappt hat oder nicht

Quote:
Originally Posted by .Tear View Post
hat nix mit dem Thema zu tun aber bitte sicher die GET Variable noch ab..
Danke für den Tipp!
Wie mache ich das am besten?

mfg
Th33xitus is offline  
Old 09/24/2013, 15:29   #7
 
mhaendler's Avatar
 
elite*gold: 0
Join Date: Jul 2008
Posts: 1,826
Received Thanks: 226
Quote:
Originally Posted by Th33xitus View Post
Danke schon einmal an alle Antworten.
Ich werde einige Sachen versuchen und mich dann noch einmal zurückmelden ob es geklappt hat oder nicht


Danke für den Tipp!
Wie mache ich das am besten?

mfg
Stichwort Whitelist! Du definierst in (z.B.) nem Array die erlaubten GET-Parameter (in deinem Fall wohl die Seitenaufrufe), die Du beim Seitenaufruf abprüfst, ob die in dem Array enthalten sind. Wenn nicht -> Fehler oder eine 404 Seite
mhaendler is offline  
Old 09/25/2013, 00:02   #8

 
Synatex's Avatar
 
elite*gold: 25
Join Date: Apr 2010
Posts: 1,019
Received Thanks: 331
Ohne Whitelist, generelles absichern der Parameter:

PHP Code:
    function CleanParam($param)
    {
        
$param trim($param);
        
        
/**
         * Gesamelltes Replacen:
         *     .         - Gegen Local File Inclusion, damit dir niemand auf die Dateien zugreift
         *     /         - Ebenfalls wie oben
         * '        - Gegen SQLInjection um das rumtricksen zu vermeiden
         * "        - Ebenfalls gegen SQLi
         * < >        - HTML bullshit raus den man für XSS nutzen könnte
         *             + Sämtliche ASCIIZeichen für die einzelnen Werte da die PHP etwas anders interpretiert und somit
         *              das gleiche möglich wäre wie die normale Schreibweise
         * chr(00)    - Gegen poison 0-byte (splittet den String und hört mitm request auf..)
         */
         
        
$param str_replace(array('.','/','\'','"','<','>'),''$param);
        
$param str_replace(array(chr(47),chr(46),chr(00),chr(39),chr(60),chr(62),chr(34)),''$param);
        return 
$param;
    } 
Benutze ich nun schon seit längerem und habe mich ab und zu immer mal wieder Schwerpunktmäßig informiert und sollte die Standardattacken soweit abhalten.
Synatex is offline  
Reply


Similar Threads Similar Threads
[C#] Unterordner erstellen
08/11/2013 - .NET Languages - 5 Replies
Hi, ich arbeitet zur Zeit an einem Patcher. ...Um erlich zu sein ist der Patcher aus einem TuT von YT. Alles funktioniert, bis auf das erstellen von Unterordern. Anstatt erstellt er einen Ordner Namens: Ich muss irgendwo einen Fehler, beim erstellen von Unterordnern habe. Ich such jetzt schon 2 Tage lang nach dem Fehler, aber ich finde ihn nicht :(. Bitte helft mir... :handsdown:
Excel Werte aus Unterordner auslesen lassen
05/23/2012 - Metin2 Hacks, Bots, Cheats, Exploits & Macros - 2 Replies
Hey Com, Ich hätte da ma eine frage bezüglich Excel. Ich will einen Makro erstellen, der Unterordner abklappert und dort die gegebenen Werte, ausliest und in eine neue Excel datei ausgibt. Zum verständniss gibt es im Anhang eine Datei. Es soll nur die Summe der Arbeisstufe "A" ausgerechnet (ausgelesen) werden. Diese soll ihn einer bestimmten Zelle, siehe Beispiel ausgegeben werden. Ein Source Code als Post, wäre das aller beste
Excel per Makro Werte in Unterordner auslesen lassen
05/22/2012 - Off Topic - 0 Replies
Hey Com, Ich hätte da ma eine frage bezüglich Excel. Ich will einen Makro erstellen, der Unterordner abklappert und dort die gegebenen Werte, ausliest und in eine neue Excel datei ausgibt. Zum verständniss gibt es im Anhang eine Datei. Es soll nur die Summe der Arbeisstufe "A" ausgerechnet (ausgelesen) werden. Diese soll ihn einer bestimmten Zelle, siehe Beispiel ausgegeben werden. :) Ein Source Code als Post, wäre das aller beste :)



All times are GMT +1. The time now is 02:42.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.