[PHP] Includen vanaf root

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Dark Wanderer
  • Registratie: September 2003
  • Laatst online: 11-08-2024
Hallo,

Ik heb een klein vraagje. Ik heb net een beveiligingsmodule gemaakt, security.php. Deze kan bepalen of users en usergroups toegang hebben tot bestanden of mappen. Dit werkt goed, alleen zou ik dan steeds security.php moeten kopieren, of de link in de uinclude() moeten veranderen (voor als je een map in een submap van een submap bijvoorbeeld wilt beveiligen.

Oftewel, ik wil dat ik met php het bestand
root/beveiliging/security.php

kan includen. Ik wil hiermee niet met de domeinnaam werken (dus niet include('http://www.mijndomein.nl/beveiliging/security.php'); )

Hoe doe ik dat?

hand·te·ke·ning (de ~ (v.))


Acties:
  • 0 Henk 'm!

Verwijderd

run eens een scriptje met de volgende code:

PHP:
1
phpinfo();


Daar staat - onderaan - allerlei nuttige informatie.
Met behulp van globale variabelen kun je dus je root achterhalen.
Moet je wel toegang hebben trouwens.

Acties:
  • 0 Henk 'm!

  • Mysteryman
  • Registratie: Februari 2001
  • Laatst online: 11:44

Mysteryman

kan jij wat ik kan...

om bovenstaande post aan te vullen... met Predefined Variables kan je dus bepaalde eigenschappen opvragen...

met bijvoorbeeld:
PHP:
1
<? echo $_SERVER['DOCUMENT_ROOT']; ?>

kan je de root opvragen van apache...

om voor jou je beveiligings script te include kan je dus gebruik maken van:
PHP:
1
<? include $_SERVER['DOCUMENT_ROOT']."/beveiliging/security.php";?>

[ Voor 20% gewijzigd door Mysteryman op 02-03-2006 13:00 ]

Everybody happy??? I soon change that here we go...


Acties:
  • 0 Henk 'm!

  • Dark Wanderer
  • Registratie: September 2003
  • Laatst online: 11-08-2024
Verwijderd schreef op donderdag 02 maart 2006 @ 12:52:
run eens een scriptje met de volgende code:

PHP:
1
phpinfo();


Daar staat - onderaan - allerlei nuttige informatie.
Met behulp van globale variabelen kun je dus je root achterhalen.
Moet je wel toegang hebben trouwens.
Hmm laat maar,

trouwens ik probeerde net include('http://www.domein.nl/security.php'); maar dat pakt ie niet!

hand·te·ke·ning (de ~ (v.))


Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 18-09 14:42
Natuurlijk pakt ie dat niet.
Hij benaderd dan het bestand via het web. Oftewel; hij krijgt het resultaat van het geparsete security.php te zien, net als wanneer je erheen zou surfen. Je moet het lokale pad hebben. Deze kun je, zoals al genoemt, uit $_SERVER['DOCUMENT_ROOT'] lezen.

Acties:
  • 0 Henk 'm!

  • orf
  • Registratie: Augustus 2005
  • Laatst online: 17:05

orf

Eventueel kun je de map waarin je script staat toevoegen aan het php include_path (htaccess / php.ini)

Acties:
  • 0 Henk 'm!

  • maartenba
  • Registratie: November 2001
  • Laatst online: 29-07-2024
Of werken met een configuratiefile waarin je het hele lokale pad zet, en die per applicatie/site anders kan zijn.

Acties:
  • 0 Henk 'm!

Verwijderd

iid, iets als dit:
PHP:
1
2
3
define('ROOT', '/var/www/domein');

require(ROOT.'/security.php');


Zou overigens require gebruiken ipv include.

[ Voor 37% gewijzigd door Verwijderd op 02-03-2006 15:54 ]


Acties:
  • 0 Henk 'm!

  • Dark Wanderer
  • Registratie: September 2003
  • Laatst online: 11-08-2024
Verwijderd schreef op donderdag 02 maart 2006 @ 15:53:
iid, iets als dit:
PHP:
1
2
3
define('ROOT', '/var/www/domein');

require(ROOT.'/security.php');


Zou overigens require gebruiken ipv include.
/var/www/domein ? :P Ik gebruik IIS hoor :P

wat is het verschil? Stopt het script als het bestand in require niet aanwezig is of zo ?

hand·te·ke·ning (de ~ (v.))


Acties:
  • 0 Henk 'm!

Verwijderd

Dark Wanderer schreef op donderdag 02 maart 2006 @ 17:39:
/var/www/domein ? :P Ik gebruik IIS hoor :P
De mensen proberen u hier te helpen hoor :/

Acties:
  • 0 Henk 'm!

  • Dark Wanderer
  • Registratie: September 2003
  • Laatst online: 11-08-2024
Verwijderd schreef op vrijdag 03 maart 2006 @ 12:24:
[...]


De mensen proberen u hier te helpen hoor :/
Sorry, zo is dat niet bedoeld :P No offense!
Bedankt voor de hulp

hand·te·ke·ning (de ~ (v.))


Acties:
  • 0 Henk 'm!

  • Skaah
  • Registratie: Juni 2001
  • Laatst online: 16-09 18:38
Het is ook gemakkelijk om het include-path te zetten. Op deze manier kun je ook eenvoudig vanuit een submap includes doen.
Pagina: 1