verhindern das meine dateien wo anders includet werden

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
langeweile
Gesperrt
Beiträge: 234
Registriert: 03.12.2006 14:48
Kontaktdaten:

verhindern das meine dateien wo anders includet werden

Beitrag von langeweile »

ich habe mir ein kleines homepagescript gebastelt. dazu gibt es einige funktiondateien, die ich inlcude.

aber wie verhindere ich, dass jemand anders das in seine scripte includet und so meine datenbank erreichen kann?




p.s.
man kann doch auch so includen oder?
include ("http://www.......");
oder geht das nur mit internen links, da gäbe es das obere problem ja nicht
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Du kannst es so wie phpBB machen und eine gesetzte Konstante vorrausetzen. Such mal im Quellcode (z.B. index.php und common.php) nach IN_PHPBB.
KB:knigge
langeweile
Gesperrt
Beiträge: 234
Registriert: 03.12.2006 14:48
Kontaktdaten:

Beitrag von langeweile »

aber kann man das nicht umgehen, in dem der, der an die inlcudes herankommen will in seinem script die gleiche konstante setzt und dann erst includet?



edit:

hab das gefunden

Code: Alles auswählen

if ( !defined('IN_PHPBB') )
{
	die("Hacking attempt");
}
sry, aber das kapier ich überhaupt nicht, wie kann man denn da überprüfen ob eine konstante gesetzt ist? vorher ist doch gar kein code, in dem die konstante gesetzt wird
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Re: verhindern das meine dateien wo anders includet werden

Beitrag von S2B »

langeweile hat geschrieben:aber wie verhindere ich, dass jemand anders das in seine scripte includet und so meine datenbank erreichen kann?
z.B. so, wie es das phpBB macht:
Direkt aufgerufene Dateien:

Code: Alles auswählen

define('IN_PHPBB', true);
Dateien, die eingebunden werden:

Code: Alles auswählen

if (!defined('IN_PHPBB'))
{
  exit;
}
Dazu noch eine .htaccess in den Ordner, in dem die Dateien liegen:

Code: Alles auswählen

Deny from all
langeweile hat geschrieben:man kann doch auch so includen oder?
include ("http://www.......");
oder geht das nur mit internen links, da gäbe es das obere problem ja nicht
Das geht nur, wenn allow_url_fopen an ist.
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
langeweile
Gesperrt
Beiträge: 234
Registriert: 03.12.2006 14:48
Kontaktdaten:

Beitrag von langeweile »

aber würde dann so ein script nicht funktionieren

Code: Alles auswählen

<?php
define('IN_PHPBB', true);
include("http://www.phpbb.de/common.php");
.....

nur so als beispiel :D

denn dann wird die konstante doch gesetzt und die abfrage müsste positiv verlaufen
Benutzeravatar
Olli Oberhausen
Mitglied
Beiträge: 561
Registriert: 22.10.2004 01:03
Wohnort: Oberhausen NRW
Kontaktdaten:

Beitrag von Olli Oberhausen »

Probiers doch mal aus, dann weisst du es.

Die common. hp wird bei einem include auf dem remote server vollständig geparsed , ausgegeben und beendet.
Somit kannst du nicht auf die funktionen und objekte (z.b.$sql) zugreifen.

Olli
Neulich im Zoo: Papa, guck mal, da sind Linuxe...
KB-Suche :: db_update_generator :: phpMyAdmin
Winmerge :: Zend Studio
langeweile
Gesperrt
Beiträge: 234
Registriert: 03.12.2006 14:48
Kontaktdaten:

Beitrag von langeweile »

also werden zum schluss alle variablen auf 0 gesetzt oder wie


und wenn ja wozu dann der konstanten schutz, wenn man den umgehen kann
Benutzeravatar
Olli Oberhausen
Mitglied
Beiträge: 561
Registriert: 22.10.2004 01:03
Wohnort: Oberhausen NRW
Kontaktdaten:

Beitrag von Olli Oberhausen »

Die variablen werden nie gesetzt.
Das script wird auf dem remote server ausgefuhrt und die geparste datei als htm, xml oder was auch immer zurückgegeben...

Olli
Neulich im Zoo: Papa, guck mal, da sind Linuxe...
KB-Suche :: db_update_generator :: phpMyAdmin
Winmerge :: Zend Studio
Antworten

Zurück zu „Coding & Technik“