php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 24.07.2007, 11:12  
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 Sicherung von Include

Hi Forum,

bin grad bei so einer Überlegung

Ich möchte gerne, dass man die Dateien, die included werden (bzw per require eingefügt werden) nicht direkt aufrufen darf.

Hab mir das so gedacht:

index.php
PHP-Code:
<?php
  
function check_include($var) {
    if(
$var === true AND isset($_SESSION['user']['id']) AND !empty($_SESSION['user']['id'])) {
      return 
true;
    } else {
      return 
false;
    }
  }
  require 
'include.php';
?>
include.php
PHP-Code:
<?php
  
@check_include($inc_check) OR die('NEIN!!!!111');
?>

Blablablaa

Weiterer text unso
Ist das so sinnvoll, wie ich es mache? Oder geht es noch besser, einfacher oder sonst irgendwie anders?

Danke für eure Hilfe und Anregungen vielleicht wirds ja ne heiße Diskussion

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  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 24.07.2007, 11:20  
Erfahrener Benutzer
 
Benutzerbild von DER_Brain
 
Registriert seit: 18.04.2005
Beiträge: 1.541
PHP-Kenntnisse:
Fortgeschritten
DER_Brain ist zur Zeit noch ein unbeschriebenes Blatt
Standard

der einfachste Weg wäre wahrscheinlich der:

index.php
Includes
|--.htaccess
|--include1.php
|--include2.php
|--...


und mit der.htaccess gibst einfach ein deny from all rein..


Warum ich das "so toll und plastisch" zeichne?

mir ist langweilig



lg
Andi
DER_Brain ist offline  
Alt 24.07.2007, 11:27  
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

Naja, mein Aufbau ist schon so ähnlich

index.php
mods
|--pointsystem
|--|--include1.php
|--|--include2.php
|--|--includeN.php
|--core
|--|--include1.php
|--|--include2.php
|--|--includeN.php

Warum ich das so toll mach wie du? Ich will net arbeiten

htaccess wollte ich so eigentlich nicht verwenden, da ich es nicht so ganz steuern kann

Ausnahmen kann es nämlich geben, dass so manch eine Datei doch mal so geöffnet werden darf, ohne dass sie im Template oder so geladen wird ausserdem wärs auch zu einfach und es wird nicht mehr diskutiert

Finde das Thema mal etwas anderes und nicht so standard banal fragen (naja vielleicht doch?) wie man jeden Tag liest :wink:

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  
Alt 24.07.2007, 11:33  
Erfahrener Benutzer
 
Benutzerbild von DER_Brain
 
Registriert seit: 18.04.2005
Beiträge: 1.541
PHP-Kenntnisse:
Fortgeschritten
DER_Brain ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hehe

wenn ich ehrlich bin mache ich es auf einer meiner seiten ähnlich.. hab aber grad den sourcecode ned..

sieht ungefähr so aus...
check.php
PHP-Code:
<?php
  
if(!isset($ROOTFILE) OR !$ROOTFILE){
    die(
"Sie haben keine Berechtigung diese Seite zu betreten!");
  }
?>
und dann in der index.php irgendwo ganz oben
PHP-Code:
<?php
$ROOTFILE 
true;
?>

jede "geschützte" Seite hat halt dann am Anfang ein include("check.php");


Ich schätze mal der Ansatz is klar und leicht nachzuvollziehen.. Bei dieser Methode könnte halt das register_globals (welches ich immer auf off habe) ein problem sein.


Außerdem gibt es sicher bessere methoden das zu schützen,... für die eine kleine page bei der ich es verwende reicht es


lg
Andi
DER_Brain ist offline  
Alt 24.07.2007, 11:39  
Erfahrener Benutzer
 
Benutzerbild von phpdummi
 
Registriert seit: 06.06.2008
Beiträge: 1.631
PHP-Kenntnisse:
Anfänger
phpdummi ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
<?php  if (!defined('BASEPATH')) exit('No direct script access allowed');
//Code
?>
__________________
"Nobody is as smart as everybody" - Kevin Kelly
— The best things in life aren't things
phpdummi ist offline  
Alt 24.07.2007, 11:43  
Erfahrener Benutzer
 
Registriert seit: 16.08.2007
Beiträge: 702
PHP-Kenntnisse:
Anfänger
Igäl befindet sich auf einem aufstrebenden Ast
Standard

Bei mir wird ne Modul-ID ausgelesen und ein switch überprüft, welche Seite included werden muss. Zuvor prüft ne Funktion ob der User Berechtigung hat die Seite anzuzeigen. Wenn nicht, wird die Modul-ID auf 0 gesetzt, was im Switch immer auf "forbidden.html" führt
__________________
Das Recht auf Dummheit gehört zur Garantie der freien Entfaltung der Persönlichkeit.
Mark Twain
Igäl ist offline  
Alt 24.07.2007, 11:50  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Die weitverbreitetste ist wohl tatsächlich per Endung (*.inc einfach per htaccess verbieten aufzurufen), per Verzeichnis (wieder htaccess, schließlich hat man meistens die Rechte htaccess zu seten) oder eben per phpdummi's Methode. Letzteres ist halt mühselig.

Ich unterteile meine Projekte meist in private/protected/public Ordner, wenns geht ist public dabei DocumentRoot, protected sind nur freigeschaltet für htaccess-angemeldete und in private liegen alle Klassen, includes, Konfigs etc.
Zergling-new ist offline  
Alt 24.07.2007, 12:56  
Erfahrener Benutzer
 
Benutzerbild von DER_Brain
 
Registriert seit: 18.04.2005
Beiträge: 1.541
PHP-Kenntnisse:
Fortgeschritten
DER_Brain ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Ich unterteile meine Projekte meist in private/protected/public Ordner, wenns geht ist public dabei DocumentRoot, protected sind nur freigeschaltet für htaccess-angemeldete und in private liegen alle Klassen, includes, Konfigs etc.

So in etwa mach ich es auch normalerweise.. variiert aber (is ein bisschen nervig.. ich sollte das Ganze mal vereinheitlichen, dann wirds leichter zum wiederverwenden ^^)

lg
Andi
DER_Brain 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
include() ersetzen Shadow21 PHP Tipps 2006 3 30.08.2008 14:13
include isoliert ausführen – Lösungsansatz gesucht veit PHP-Fortgeschrittene 8 09.04.2008 09:26
hinter include wird eine 1 angezeigt |~Râdîant~| PHP Tipps 2008 8 19.09.2007 13:52
include Dateien wieder ausängen o.Ä. netti PHP Tipps 2007 8 17.12.2006 15:14
include problem Canni PHP Tipps 2006 26 14.11.2006 14:24
Zelleninhalt mit include Sonja PHP Tipps 2006 5 07.02.2006 14:21
include, nur bestimmten teil neu laden Calli PHP Tipps 2006 2 27.01.2006 15:57
include() - wo liegt der Denkfehler ? kain PHP Tipps 2007 8 27.11.2005 19:45
Auf Firmen-Server funzt kein include aus fremden Verzeichnis PHP-Fortgeschrittene 3 19.07.2005 16:49
[Erledigt] Include liegt in einem anderen Verzeichnis - es geht nix PHP Tipps 2005-2 3 03.07.2005 22:40
[Erledigt] Sessions auch bei include aktiv? PHP Tipps 2005 1 28.02.2005 19:58
Was muss ändern PHP Tipps 2004-2 6 11.12.2004 22:40
[Erledigt] Variable geht bei include verloren PHP Tipps 2004-2 8 03.12.2004 09:13
[Erledigt] Problemme mit include... PHP Tipps 2004-2 6 30.11.2004 12:20
HTTP_GET_VARS + Include = Array leer PHP Tipps 2004-2 3 24.11.2004 15:12

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
ordner schützen include deny from all, sicherung bei include php, \no direct script access allowed\, (!defined(\'basepath\')) exit(\'no direct script access allowed\');

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