PDA

Bekijk Volledige Versie : .htaccess geeft opties voor Apache en PHP



Paul van der Vlis
18/10/03, 13:30
Hoi,

Ik test een PHP programma wat een speciaal .htaccess bestand heeft. Er
komen regels en stukjes in voor die voor een "internal server error"
zorgen, ik zal ze onder afdrukken.

Wie weet hoe ik van dat soort errors af kom?

Interessant overigens, dat je schijnbaar met zo'n .htaccess file
instellingen van Apache en PHP kunt overrulen. (lijkt me ook wel
gevolgen hebben voor de veiligheid).

Groet,
Paul.

--------
enkele stukjes uit de .htaccess die niet werken:
-----------
Options -Indexes

Options FollowSymLinks


DirectoryIndex index.php


# Overload PHP variables:
<IfModule mod_php4.c>
php_value register_globals 0
php_value track_vars 1
php_value short_open_tag 1
php_value magic_quotes_gpc 0
php_value magic_quotes_runtime 0
php_value magic_quotes_sybase 0
php_value arg_separator.output "&amp;"
php_value session.cache_expire 200000
php_value session.gc_maxlifetime 200000
php_value session.cookie_lifetime 2000000
php_value session.auto_start 0
php_value session.save_handler user
php_value session.cache_limiter none
php_value allow_call_time_pass_reference On
</IfModule>
---------------

Ronald Paul
18/10/03, 13:45
Paul van der Vlis <paul@vandervlis.nl> schreef:

>Ik test een PHP programma wat een speciaal .htaccess bestand heeft. Er
>komen regels en stukjes in voor die voor een "internal server error"
>zorgen, ik zal ze onder afdrukken.
>
>Wie weet hoe ik van dat soort errors af kom?

Ik krijg ze niet, alle instellingen worden goed overgenomen, op de
laatste na, maar dat is een kwestie van de 'On' veranderen in 'on' of
een 1.

Heb je PHP wel als module onder Apache geïnstalleerd? Staan er geen
interessante dingen in Apache's error_log? Staat AllowOverride voor
die directory bij Apache wel ingesteld op Options of All (zoals mijn
naamgenoot al opmerkte)?

>Interessant overigens, dat je schijnbaar met zo'n .htaccess file
>instellingen van Apache en PHP kunt overrulen. (lijkt me ook wel
>gevolgen hebben voor de veiligheid).

Valt best wel mee, die instellingen gelden ten eerste alleen op
directoryniveau. En als Apache als nobody draait, kan PHP met
instellingen als 'auto_append_file' ook niet bij eventueel gevoelige
informatie. Het is dan natuurlijk wel belangrijk om de beveiliging van
het OS zelf op orde te hebben.

--
Groet, Ronald

Ronald Klip
18/10/03, 13:45
Paul van der Vlis schreef:
>
> Ik test een PHP programma wat een speciaal .htaccess bestand heeft. Er
> komen regels en stukjes in voor die voor een "internal server error"
> zorgen, ik zal ze onder afdrukken.
>
> Wie weet hoe ik van dat soort errors af kom?
>
> Interessant overigens, dat je schijnbaar met zo'n .htaccess file
> instellingen van Apache en PHP kunt overrulen. (lijkt me ook wel
> gevolgen hebben voor de veiligheid).

Wat er zoal overruled kan worden is afhankelijk van wat in httpd.conf
ingesteld is met AllowOverride. Wellicht ligt daarin de oorzaak van jouw
probleem.

--
groet, Ronald

Hans
18/10/03, 15:00
On Sat, 18 Oct 2003 13:20:01 +0200, Paul van der Vlis <paul@vandervlis.nl> wrote:
><IfModule mod_php4.c>
> php_value register_globals 0
> php_value track_vars 1

...........

></IfModule>

Ik kan me vergissen maar volgens mij moeten die regels in een host directivy
staan, zoiets dus:

<Directory /home/*/public_html>
....
php_value register_globals 0
...


Groet,

Hans
--
http://spamikaze.nl.linux.org/

Paul van der Vlis
19/10/03, 09:30
Ronald Klip wrote:
> Paul van der Vlis schreef:
>
>>Ik test een PHP programma wat een speciaal .htaccess bestand heeft. Er
>>komen regels en stukjes in voor die voor een "internal server error"
>>zorgen, ik zal ze onder afdrukken.
>>
>>Wie weet hoe ik van dat soort errors af kom?
>>
>>Interessant overigens, dat je schijnbaar met zo'n .htaccess file
>>instellingen van Apache en PHP kunt overrulen. (lijkt me ook wel
>>gevolgen hebben voor de veiligheid).
>
> Wat er zoal overruled kan worden is afhankelijk van wat in httpd.conf
> ingesteld is met AllowOverride. Wellicht ligt daarin de oorzaak van jouw
> probleem.

Dat zou inderdaad een goede verklaring zijn, maar mijn experimenten
hebben nog geen succes. Zelfs niet als ik "AllowOverride All" instel in
"<Directory />".

Waarschijnlijk moet ik het probleem hier wel zoeken, bedankt.

Met vriendelijke groet,
Paul van der Vlis.

Paul van der Vlis
19/10/03, 09:45
Ronald Paul wrote:
> Paul van der Vlis <paul@vandervlis.nl> schreef:
>
>
>>Ik test een PHP programma wat een speciaal .htaccess bestand heeft. Er
>>komen regels en stukjes in voor die voor een "internal server error"
>>zorgen, ik zal ze onder afdrukken.
>>
>>Wie weet hoe ik van dat soort errors af kom?
>
> Ik krijg ze niet, alle instellingen worden goed overgenomen, op de
> laatste na, maar dat is een kwestie van de 'On' veranderen in 'on' of
> een 1.

Bedankt voor de info.

> Heb je PHP wel als module onder Apache geïnstalleerd?

Ja.

> Staan er geen
> interessante dingen in Apache's error_log?

Niet echt: ".htaccess: Options not allowed here".

> Staat AllowOverride voor
> die directory bij Apache wel ingesteld op Options of All (zoals mijn
> naamgenoot al opmerkte)?

Waarschijnlijk moet ik het probleem daar zoeken. Moet nog een beetje
verder spitten in httpd.conf.

>>Interessant overigens, dat je schijnbaar met zo'n .htaccess file
>>instellingen van Apache en PHP kunt overrulen. (lijkt me ook wel
>>gevolgen hebben voor de veiligheid).
>
> Valt best wel mee, die instellingen gelden ten eerste alleen op
> directoryniveau.

Aha, iemand kan dus geen softlink maken naar een directory elders in het
OS? Zal ik gaan bekijken.

> En als Apache als nobody draait,

Uiteraard als aparte user.

> kan PHP met
> instellingen als 'auto_append_file' ook niet bij eventueel gevoelige
> informatie. Het is dan natuurlijk wel belangrijk om de beveiliging van
> het OS zelf op orde te hebben.

Ik hou het in de gaten ;-)

Groet,
Paul.

Paul van der Vlis
19/10/03, 09:45
Hans wrote:
> On Sat, 18 Oct 2003 13:20:01 +0200, Paul van der Vlis <paul@vandervlis.nl> wrote:
>
>><IfModule mod_php4.c>
>> php_value register_globals 0
>> php_value track_vars 1
>
>
> ..........
>
>
>></IfModule>
>
>
> Ik kan me vergissen maar volgens mij moeten die regels in een host directivy
> staan, zoiets dus:
>
> <Directory /home/*/public_html>
> ....
> php_value register_globals 0
> ...

Ik denk (maar weet niet zeker), dat als de directory automatisch de
directory wordt genomen waar de .htaccess file staat.

Groet,
Paul.