Open_basedir global setting / Server-wide toegankelijke map

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb al Google vrijwel helemaal uitgezocht op dit onderwerp, maar ik begin het idee te krijgen dat het bijna onmogelijk is...

Ik heb hier een PLESK server op kantoor staan en dit is onze staging server... Nu dat er mensen zijn die wat moeite hebben met het herkennen van de websites als development, staging of live versie, wil ik graag een HTML bestandje op alle HTML, PHP, etc... pagina's includen waarmee een kleine div rechts bovenin de hoek word geplaatst met "staging" oid. Wat an sich geen probleem mee brengt, dit is namelijk gewoon te regelen met de volgende lijn:

php_admin_value auto_prepend_file /home/globincl/stagingserver.html

Maar dan krijgen we uiteraard een open_basedir restriction als we voor de rest geen toegang geven tot die folder. De bovenstaande lijn heb ik in de globale httpd.conf gezet. Nu zou ik eveneens in dit bestand een open_basedir value op willen geven. Dit werkt niet voor mij, omdat eigenlijk al mijn vhosts al hun eigen vhost.conf hebben met een open_basedir value, welke dus de globale overruled...

Nu is mijn vraag of iemand een idee heeft hoe ik alsnog het overal kan includen, zonder moeilijk te doen met alle vhost.conf's aan te passen en zonder het HTML bestand op elke vhost te zetten etc...

Acties:
  • 0 Henk 'm!

  • rhodium
  • Registratie: Augustus 2003
  • Laatst online: 07:09
Ik ken plesk niet, maar je zou het bestand in de tmp dir kunnen gooien... eventueel een scriptje die het bestand opnieuw aanmaakt bij een reboot. Het is maar een idee...

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Je weet dat safe mode sinds PHP 5.3.0 deprecated is?

Verder: http://php.net/manual/en/ini.sect.safe-mode.php
safe_mode_include_dir lijkt me wat je zoekt.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • hostname
  • Registratie: April 2009
  • Laatst online: 15:38
NMe schreef op zaterdag 05 februari 2011 @ 23:04:
Je weet dat safe mode sinds PHP 5.3.0 deprecated is?

Verder: http://php.net/manual/en/ini.sect.safe-mode.php
safe_mode_include_dir lijkt me wat je zoekt.
Je weet dat open_basedir en safe mode iets anders is? open_basedir is gewoon nog ondersteund.

TS: kan je je bestand niet in /tmp of, beter nog, in /var/tmp. Meestal mag iedereen altijd in die mappen komen. Verder vraag ik me af of die html ervoor zetten geen problemen geeft met de doctype en standaard/quircks mode selectie?

Acties:
  • 0 Henk 'm!

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

NMe schreef op zaterdag 05 februari 2011 @ 23:04:
Je weet dat safe mode sinds PHP 5.3.0 deprecated is?

Verder: http://php.net/manual/en/ini.sect.safe-mode.php
safe_mode_include_dir lijkt me wat je zoekt.
Volgens de door jou gegeven pagina is ook safe_mode_include_dir een deprecated functie sinds PHP 5.3.0. ;) Maar goed, het is wel een optie die zou kunnen werken voor de TS. :)

[ Voor 8% gewijzigd door CH4OS op 06-02-2011 00:42 ]


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

hostname schreef op zondag 06 februari 2011 @ 00:22:
[...]

Je weet dat open_basedir en safe mode iets anders is? open_basedir is gewoon nog ondersteund.
Dat vind ik nergens terug. Voor zover ik weet is open_basedir een onderdeel van PHP's safe mode en dus ook deprecated.
TS: kan je je bestand niet in /tmp of, beter nog, in /var/tmp. Meestal mag iedereen altijd in die mappen komen.
Da's een acceptabele workaround voor een testomgeving. Voor een vergelijkbaar probleem op een live server zou ik het niet zo doen, denk ik. :)
Verder vraag ik me af of die html ervoor zetten geen problemen geeft met de doctype en standaard/quircks mode selectie?
Goed punt.
CptChaos schreef op zondag 06 februari 2011 @ 00:41:
[...]
Volgens de door jou gegeven pagina is ook safe_mode_include_dir een deprecated functie sinds PHP 5.3.0. ;) Maar goed, het is wel een optie die zou kunnen werken voor de TS. :)
Als je toch met een feature werkt die na 5.3.0 deprecated is geraakt, dan kun je ook de rest van de features die in diezelfde build deprecated zijn gebruiken. :P Het probleem en de fix zijn dan beiden onderdeel van dezelfde build. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • hostname
  • Registratie: April 2009
  • Laatst online: 15:38
NMe schreef op zondag 06 februari 2011 @ 01:09:
[...]
Dat vind ik nergens terug. Voor zover ik weet is open_basedir een onderdeel van PHP's safe mode en dus ook deprecated.
http://nl.php.net/manual/en/ini.core.php#ini.open-basedir:
This directive is NOT affected by whether Safe Mode is turned On or Off.
Verder staat op de pagina die jij aanhaalt ook geen open_basedir in het lijstje van open_basedir-instellingen.
NMe schreef op zondag 06 februari 2011 @ 01:09:
Da's een acceptabele workaround voor een testomgeving. Voor een vergelijkbaar probleem op een live server zou ik het niet zo doen, denk ik. :)
Het lijkt me uberhaupt geen goed idee om op een live-server een blokje 'live' op de website te zetten ;)

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

hostname schreef op zondag 06 februari 2011 @ 11:50:
[...]

http://nl.php.net/manual/en/ini.core.php#ini.open-basedir:

[...]
Verder staat op de pagina die jij aanhaalt ook geen open_basedir in het lijstje van open_basedir-instellingen.
I stand corrected. :)
Het lijkt me uberhaupt geen goed idee om op een live-server een blokje 'live' op de website te zetten ;)
Klopt, maar er zijn wel scenario's denkbaar waar iemand zoiets op een live-server wil doen. Ik noemde dat eigenlijk meer vanwege het feit dat iemand dit topic kan vinden in de search. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • graceful
  • Registratie: Maart 2008
  • Niet online
Wat je kunt doen is de basis open_basedir uitbreiden met /shared/, hierin plaats je het auto_prepend bestand (/shared/myfile.php). Vervolgens laat je dit bestand de open_basedir 'inkrimpen'. Dit is een feature vanaf PHP 5.3.0, dit doe je door bijvoorbeeld het volgende (effe uit de losse pols);

PHP:
1
ini_set( 'open_basedir', str_replace( ':/shared/', null, ini_get( 'open_basedir' ) ) );


Op deze manier heeft de gebruiker nooit toegang tot /shared/, sinds uitbreiden van open_basedir niet mag en kun jij vrolijk je bestand includen en je ding doen (zelfs op PHP niveau).
Pagina: 1