Noobis.de - Wir helfen weiter !


Banner Picture
PHP Datei vor direktem Zugriff schützen PDF Drucken E-Mail
Benutzerbewertung: / 5
SchwachPerfekt 
Tutorial Übersicht - Developer Tutorials
Mittwoch, 11. März 2009 um 16:28
Oft steht man als PHP Programmier vor dem typischen Problem, dass PHP Dateien von einem Benutzer direkt aufgerufen werden.

Dies ist aber nicht immer erwünscht. Ein guter Programmierer achtet natürlich darauf, seine Functionen in einer anderen Datei zu speichern (oder vielleicht einzeln), aber denoch kann ein direkter Zugriff zu unschönen Ausgaben führen.

Um dies vorzubeugen heute ein kleines Tutorial


1. Eine Configdatei

Wir schreiben eine Config Datei, welche deklariert, ob die aufzurufende Webseite durch das Projekt (also bsp. durch einen Link auf der Webseite) oder durch einen Benutzer direkt aufgerufen wird.
Ruft der Benutzer die PHP Datei direkt auf, ist die Config nicht deklariert (diese sollte nur einmal in der index.php deklariert sein).

Der Code in der Configdatei:

<?php
define
('WERDICHLEGALGERUFEN'1);
?>


Damit ist eine Variable WERDICHLEGALGERUFEN deklariert.
Unsere PHP Dateien schützen wir nun, in dem wir jede PHP Datei folgend
anpassen:

<?php
if(!defined('
WERDICHLEGALGERUFEN')){
echo 
'You cannot access this file directly!';
die;
}

// Unseren Code schreiben wir nun ab hier.
echo 'Dies ist nur noch durch indirektes Aufrufen sichtbar!';
?>

haben wir alles richtig gemacht erscheint beim direkten Aufrufen eine leere Seite.

Beim indirekten Aufrufen, durch das Projekt selbst mit deklarierter Variable bekommen
wir die Anzeige:

Dies ist nur noch durch indirektes Aufrufen sichtbar!



 

Comments

avatar Nico Knoll
0
 
 
Vielen Dank für den super Tipp!
B
i
u
Quote
Code
List
List=
[*]
URL
Name *
Email (For verification & Replies)
URL
Code   
ChronoComments by Joomla Professional Solutions
Submit Comment
Abbrechen
avatar Torsten
0
 
 
Genau so was hab ich gesucht, danke sehr!
B
i
u
Quote
Code
List
List=
[*]
URL
Name *
Email (For verification & Replies)
URL
Code   
ChronoComments by Joomla Professional Solutions
Submit Comment
Abbrechen
avatar Jonathan
0
 
 
Danke! Die kleinen Tricks sind doch immer was wert, wenn man danach sucht :-)
B
i
u
Quote
Code
List
List=
[*]
URL
Name *
Email (For verification & Replies)
URL
Code   
ChronoComments by Joomla Professional Solutions
Submit Comment
Abbrechen
B
i
u
Quote
Code
List
List=
[*]
URL
Name *
Email (For verification & Replies)
URL
Code   
ChronoComments by Joomla Professional Solutions
Submit Comment
Working....
Finished
Failed