php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 20.12.2004, 21:20  
Gast
 
Beiträge: n/a
Standard $_GET - Includelink überprüfen

Hi zusammen
Kann mir vielleicht jemand sagen, wie ich ein Überprüfungsscript hier
Code:
if(isset($_GET['page']))
{
 include($_GET['page']);
}
einbaue, das die Links nach Eintrag überprüft?

Zum Beispiel: Der/Das Script soll überprüfen, ob es z.B. index.php?page=seite.php anzeigen soll oder eine Fehlermeldung ausgibt.

Wäre nett, wenn mir jemand ein Beispiel in einbauen könnte
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 20.12.2004, 21:24  
Gast
 
Beiträge: n/a
Standard

Wieso machste es nicht mit einem Switch?

Code:
<?php

    switch($_GET['page']) 
    {
        case 'news':
            include('news.php'); 
            break;
        default: 
            include('default.php');
            break;
    }

?>
http://www.php.net/switch
 
Alt 21.12.2004, 00:53  
Waq
Erfahrener Benutzer
 
Registriert seit: 15.08.2004
Beiträge: 2.473
Waq
Standard

Zitat:
Zitat von maxi
Wieso machste es nicht mit einem Switch?
Dann hätte man auch keine grobe Sicherheitslücke eingebaut...
__________________
mod = master of disaster
Waq ist offline  
Alt 22.12.2004, 14:47  
Gast
 
Beiträge: n/a
Standard

Danke, klappt supper. Bin da einfach nicht drauf gekommen *schäm*

Zitat:
Dann hätte man auch keine grobe Sicherheitslücke eingebaut...
Huh? Eigentlich wollte ich damit verhindern, dass irgendwelche Leute meinen Server missbrauchen, um mit deren Scripts rumzuspielen.
 
Alt 22.12.2004, 15:14  
Erfahrener Benutzer
 
Registriert seit: 01.08.2004
Beiträge: 113
Kofi
Kofi eine Nachricht über ICQ schicken
Standard

also mit include kann man doch nur dateien auf dem eigenen server einfügen, also wäre das gar keine grobe sicherheitslücke.
Kofi ist offline  
Alt 22.12.2004, 15:25  
Gast
 
Beiträge: n/a
Standard

Wie kommt ihr bitte schn auf eine Sicherheitslücke?

Mit $_GET könnt ihr den bestimmten Wert aus einer URL holen. Jedoch kann nur das Script, welches auf dem Server ist und auch angesprochen! wird mit $_GET was anfangen...

Von daher verstehe ich euch mit eurer "Sicherheitslücke" nicht....
 
Alt 22.12.2004, 15:39  
Gast
 
Beiträge: n/a
Standard

weil ich in die url auch ?page=../sonstwas (zb. passwort.txt) eingeben kann...
und es auch ausgefüht (bzw) aufgerufen werden würde

wir sprachen hier von diesem beispiel:
Code:
if(isset($_GET['page']))
{
 include($_GET['page']);
}
oder auch sowas ist eine grobe sicherheitslücke:
Code:
if(isset($_GET['page']) && file_exists($_GET['page'])
   include($_GET['page']);
 
Alt 22.12.2004, 16:02  
Gast
 
Beiträge: n/a
Standard

genau das wird doch mit dem SWITCH umgangen. Da werden doch nur die Seiten aufgerufen die ich definiere bzw. die des default- Wertes.
 
Alt 22.12.2004, 16:08  
Gast
 
Beiträge: n/a
Standard

Ja ach....

Hinweis:
Speicher nie ein passwort in einer .txt datei ab
und wenn dann aber bitte so:
$passwort_fuer_datei = md5($passwort);

http://de2.php.net/md5


Der switch ist ganz einfach.. mach das doch einfach so..
 
Alt 22.12.2004, 16:11  
Gast
 
Beiträge: n/a
Standard

ja richtig. aber wenn du sagen wir mal mehr als 10 seiten hast... wird es ganz schön umständlich per switsh.. dann kommt nur noch ein array in frage.

Code:
<?php
// url = http://www.domain.de/index.php?page=1

$_links = array(0 => 'sonst.php', 
                       1 => 'etws.php', 
                       16 => 'error.php');

$id = (isset($_GET['page'])) ? (int)$_GET['page'] : 0;

if(!array_key_exists($id, $_links))
    $id =16;

include($_links[$id]);

?>
so inetwa. der vorteil ist, dass ich das array bequem aus einer datenbank befüllen kann.

hinweis^^ es war ein beispiel^^
 
 


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

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php include überprüfen lizens, $_get[\'include\'] überprüfen

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:03 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.