php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 10.12.2008, 23:11  
Erfahrener Benutzer
 
Registriert seit: 19.03.2007
Beiträge: 176
BlackWolf ist zur Zeit noch ein unbeschriebenes Blatt
Standard [Erledigt] Sicherstellen das Datei includet wurde?

hiho,
ich sitze derzeit an folgendem Problem:
Arbeite mit dynamic includes bei meiner Seite was dann standardmäßig abläuft das eben der $action-Parameter der index.php dazu führt das der jeweilige content im Ordner ./content/ eingebunden wird.

Mir geht es jetzt darum, dass ich sicherstellen will das Dateien im Ordner ./content/ nur aufgerufen werden, indem sie von meiner index.php included werden (damit keine Sicherheitslücken entstehen indem man den Login umgeht oder Seiten, die durchs aufrufen per ajax bestimmt sind und irgendwelche Datenbankanfragen absenden, einfach so aufrufen kann)

Einfache Frage: Wie mache ich das?

Meine Idee wäre gewesen, in der index.php eine variable zu setzen, z.b. $calledByIndex = TRUE; oder sowas und dann eben am Anfang jedes Scripts in ./content/ zu prüfen ob diese Variable TRUE ist. Mit register_globals auf off sollte es einem Nutzer ja nicht möglich sein diese Variable selbst zu setzen, oder?

Jetzt dachte ich mir ich bin sicher nicht der erste Schlauberger der sowas sucht, vielleicht gibts dazu ja eine elegantere Lösung? Evtl. ist sowas in der Richtung ja sogar in PHP eingebaut? Was mich an meiner Lösung stört ist ganz einfach, dass ich am Anfang jeder .php-Datei die Abfrage machen muss. Das ist nicht nur nervig, sondern wenn mans vergisst hat man uU ne riesen Sicherheitslücke.

Ideen?
Danke

mfg
BlackWolf ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 10.12.2008, 23:17  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Unabhängig von register_globals kannst Du eine Konstante definieren und abtesten. Vielleicht sogar eine Konstante, die Du für irgendetwas halbwegs sinnvoll nutzen kannst.
PHP-Code:
define('PRODUCT_VERSION''0.9'); 
PHP-Code:
if ( !defined('PRODUCT_VERSION') ) {
  die(
'...');

David ist offline  
Alt 11.12.2008, 00:59  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.269
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Dateien die nur zum Include vorgesehen sind sollten grundsätzlich nicht im wwwroot/public_html/htdocs oder einem ihrer Unterordner liegen.
Chriz ist offline  
Alt 11.12.2008, 03:04  
Erfahrener Benutzer
 
Registriert seit: 28.09.2008
Beiträge: 1.168
PHP-Kenntnisse:
Fortgeschritten
Koala befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Chriz Beitrag anzeigen
Dateien die nur zum Include vorgesehen sind sollten grundsätzlich nicht im wwwroot/public_html/htdocs oder einem ihrer Unterordner liegen.
sag das mal den Webspace-Anbietern ...
Wer hat schon Zugriff auf Verzeichnisse außerhalb des root ?
Koala ist offline  
Alt 11.12.2008, 07:43  
Erfahrener Benutzer
 
Registriert seit: 19.03.2007
Beiträge: 176
BlackWolf ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von Koala Beitrag anzeigen
sag das mal den Webspace-Anbietern ...
Wer hat schon Zugriff auf Verzeichnisse außerhalb des root ?
In dem Fall habe ich das sogar Allerdings würde ich natürlich gerne alle Page-Dateien zusammenhalten.

Hat die Methode über Konstanten (die mir sehr gut gefällt) denn irgendwelche möglichen Sicherheitslücken? Weil eigentlich müsste ich damit ja abgesichert sein und könnte die zu includenden Dateien beim Rest meiner Page behalten.

Aber im Notfall kann ich die Dateien natürlich auch außerhalb es Roots ablegen wenn ich dadurch mehr Sicherheit habe.

mfg
BlackWolf ist offline  
Alt 11.12.2008, 08:58  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Nun, nehmen wir mal an irgendwas zerschiesst deine Apache-Konfig und der Indiander führt PHP-Dateien nicht mehr aus, sondern bietet sie zum download an... was nun?
cycap ist offline  
Alt 11.12.2008, 10:23  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.269
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Schütz den Ordner halt mit .htaccess, dieser Konstanten-Schutz ist arg angestaubt.
Aber gehen tuts ja alles erstmal.
Chriz ist offline  
Alt 11.12.2008, 17:41  
Erfahrener Benutzer
 
Registriert seit: 19.03.2007
Beiträge: 176
BlackWolf ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von cycap Beitrag anzeigen
Nun, nehmen wir mal an irgendwas zerschiesst deine Apache-Konfig und der Indiander führt PHP-Dateien nicht mehr aus, sondern bietet sie zum download an... was nun?
Dann hab ich wohl onehin ein Problem weil nichts mehr geht
Ne, aber stimmt schon. Werde dann wohl lokal alles in einem Ordner belassen und auf dem Server nur die index.php ins www-root laden. Scheint mir die sicherste Methode.

Danke euch.
BlackWolf ist offline  
 


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
Wert in externer Datei speichern Abakay PHP Tipps 2008 6 04.12.2008 18:56
[Erledigt] Hochgeladene Datei wird doppelt abgelegt thecracked PHP Tipps 2008 3 01.07.2008 16:31
Datei per Buttonklick runterladen... go1denboy PHP Tipps 2008 7 14.06.2008 20:25
Großer Baum -> Große Datei -> Hohe Ladezeit :( PsychoEagle PHP Tipps 2008 7 22.09.2007 12:44
.gz Datei entpacken und mit dem Inhalt weiterarbeiten R4v3r PHP Tipps 2007 8 02.02.2007 14:49
String als Datei speichern Zangelo PHP Tipps 2006 23 25.08.2006 14:13
Datei durchsuchen Wöllchen Beitragsarchiv 3 02.03.2006 22:23
Datei auf FTP-Server ändern ohne lokal abzuspeichern faux PHP-Fortgeschrittene 11 02.09.2005 11:54
Ordner Struktur auslesen bestimmte datei finden .... silverghost PHP Tipps 2005 3 24.05.2005 13:55
Includete Datei nicht gleich ausgeben Madden PHP-Fortgeschrittene 1 12.05.2005 00:19
[Erledigt] mail versand mit anhang (-- fopen(), fread(), filesize() --) PHP Tipps 2005 5 29.01.2005 18:36
php datei wird an der falschen stelle includet PHP Tipps 2005 3 28.01.2005 08:45
Datei mit php erzeugen Stümper PHP Tipps 2004 4 12.10.2004 12:51
php und ftp PHP Tipps 2004 4 07.10.2004 09:58
[Erledigt] datei editieren PHP Tipps 2004 1 10.09.2004 20:33


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