PDA

Bekijk Volledige Versie : .htaccess-file doet niet altijd wat 'm gezegd wordt!



Angelique Rietberg
13/02/07, 11:50
I'm at a loss... Wie zorgt voor licht in de duisternis?

Ik zoek m.b.v. een php-scriptje in een kleine database. Die 'database' is
een heel gewoon txt-bestandje dat in een aparte directory staat. Ik heb de
directory met een .htaccess-file afgeschermd voor al te nieuwsgierige
blikken én zoekmachines. In dat .htaccess-file staat dat alléén de website
zelf (of beter geformuleerd: de server waarop het domein is gehost) dat
txt-bestand (die afgeschermde directory) mag inzien. Dit is de inhoud van
het .htaccess-bestand:

Order Deny,Allow
Deny from all
Allow from 255.255.255.255
Allow from host1.provider.net

Waarbij (uiteraard) host1.provider.net en 255.255.255.255 dezelfde machine
zijn... Maar nu komt het gekke: op de ene server werkt deze opzet het prima,
maar op de andere server (van dezelfde provider!) werkt het niet. Dáár krijg
ik de melding:

Forbidden
You don't have permission to access
enzovoort

Natuurlijk heb ik het ip-adres en de host aangepast aan de server die
daarbij hoort. Het php-script gebruikt curl om het datafile (txt-bestand) te
laden en staat op Linux/Apache. Iemand enig idee waar dat aan kan liggen?
Hanteert mijn provider op zijn servers verschillende instellingen? En zo ja,
is er misschien een andere manier om dat txt-bestand (die directory) af te
schermen? Thanks!

Greetingz, Angelique.

Rik
13/02/07, 11:50
On Mon, 12 Feb 2007 23:08:07 +0100, Angelique Rietberg
<nobodyl@nowhere.net> wrote:

> I'm at a loss... Wie zorgt voor licht in de duisternis?
>
> Ik zoek m.b.v. een php-scriptje in een kleine database. Die 'database' is
> een heel gewoon txt-bestandje dat in een aparte directory staat. Ik heb
> de
> directory met een .htaccess-file afgeschermd voor al te nieuwsgierige
> blikken én zoekmachines. In dat .htaccess-file staat dat alléén de
> website
> zelf (of beter geformuleerd: de server waarop het domein is gehost) dat
> txt-bestand (die afgeschermde directory) mag inzien. Dit is de inhoud van
> het .htaccess-bestand:
>
> Order Deny,Allow
> Deny from all
> Allow from 255.255.255.255
> Allow from host1.provider.net
>
> Waarbij (uiteraard) host1.provider.net en 255.255.255.255 dezelfde
> machine
> zijn... Maar nu komt het gekke: op de ene server werkt deze opzet het
> prima,
> maar op de andere server (van dezelfde provider!) werkt het niet. Dáár
> krijg
> ik de melding:
>
> Forbidden
> You don't have permission to access
> enzovoort

Hmmz, je zou natuurlijk bijvoorbeeld een PHP-sript als 403 error document
kunnen definiëren, en daar even de $_SERVER array op dumpen. Dan weet je
direct op welke manier de server dit aanspreekt. Als het toch om de eigen
server gaat, al eens geprobeerd om 127.0.0.1 en/of localhost toestemming
te geven?

> Natuurlijk heb ik het ip-adres en de host aangepast aan de server die
> daarbij hoort. Het php-script gebruikt curl om het datafile
> (txt-bestand) te
> laden en staat op Linux/Apache. Iemand enig idee waar dat aan kan liggen?
> Hanteert mijn provider op zijn servers verschillende instellingen? En zo
> ja,
> is er misschien een andere manier om dat txt-bestand (die directory) af
> te
> schermen? Thanks!

Op dezelfde server met CURL aan de slag gaan lijkt me wat onhandig. Kun je
het tekstbestand niet gewoon buiten de document root zetten en
rechtstreeks via het bestandssysteem aanspreken? Veiliger, betrouwbaarder
en makkelijker...
--
Rik Wasmus

Angelique Rietberg
13/02/07, 11:50
"Rik" <luiheidsgoeroe@hotmail.com> schreef in bericht
news:op.tnnqjsoxqnv3q9@misant...

>Hmmz, je zou natuurlijk bijvoorbeeld een PHP-sript als 403 error document
>kunnen definiëren, en daar even de $_SERVER array op dumpen. Dan weet je
>direct op welke manier de server dit aanspreekt. Als het toch om de eigen
>server gaat, al eens geprobeerd om 127.0.0.1 en/of localhost toestemming
>te geven?
>

Ik vrees dat dit mijn pet te boven gaat; mijn kennis van php en Apache is
minimaal. Kan dit in 'gewoon' Nederlands? ;)

>> Natuurlijk heb ik het ip-adres en de host aangepast aan de server die
>> daarbij hoort. Het php-script gebruikt curl om het datafile
>> (txt-bestand) te
>> laden en staat op Linux/Apache. Iemand enig idee waar dat aan kan liggen?
>> Hanteert mijn provider op zijn servers verschillende instellingen? En zo
>> ja,
>> is er misschien een andere manier om dat txt-bestand (die directory) af
>> te
>> schermen? Thanks!

> Op dezelfde server met CURL aan de slag gaan lijkt me wat onhandig. Kun je

Jah, dat script is er nu eenmaal. 't Was fopen, maar da mag nie meer. :(

> het tekstbestand niet gewoon buiten de document root zetten en
> rechtstreeks via het bestandssysteem aanspreken? Veiliger, betrouwbaarder
> en makkelijker...
>

En dit, je voelt 'm al, is ook een brug te ver voor mij. Wat betekent dit
concreet? Bedankt Rik! :)

Gr, A.

Angelique Rietberg
13/02/07, 11:50
"Rik" <luiheidsgoeroe@hotmail.com> schreef in bericht
news:op.tnnqjsoxqnv3q9@misant...

> server gaat, al eens geprobeerd om 127.0.0.1 en/of localhost toestemming
> te geven?
>

Okay, dit...

Order Deny,Allow
Deny from all
Allow from 127.0.0.1

werkt in ieder geval niet... :(

Gr. A.

Rik
13/02/07, 11:50
Angelique Rietberg wrote:
> "Rik" <luiheidsgoeroe@hotmail.com> schreef in bericht
> news:op.tnnqjsoxqnv3q9@misant...
>
>> Hmmz, je zou natuurlijk bijvoorbeeld een PHP-sript als 403 error
>> document
>> kunnen definiëren, en daar even de $_SERVER array op dumpen. Dan weet je
>> direct op welke manier de server dit aanspreekt. Als het toch om de
>> eigen
>> server gaat, al eens geprobeerd om 127.0.0.1 en/of localhost toestemming
>> te geven?
>>
>
> Ik vrees dat dit mijn pet te boven gaat; mijn kennis van php en Apache
> is
> minimaal. Kan dit in 'gewoon' Nederlands? ;)

De vraag is natuurlijk of het bij je host kan. Weet je wat, we gaan even
voor de simpelere oplossing.

1. Haal het .htaccess bestand tijdelijk even weg.
2. Maak het volgende PHP-bestandin dezelfde directory:
<?php
echo "\nIP-adres: ".$_SERVER['REMOTE_ADDR'];
echo "\nhost: ".gethostbyaddr($_SERVER['REMOTE_ADDR']);
?>
3. Probeer dit met CURL te openen en kijk wat er bij IP-adres en/of host
komt te staan.

>> Op dezelfde server met CURL aan de slag gaan lijkt me wat onhandig. Kun
>> je
>
> Jah, dat script is er nu eenmaal. 't Was fopen, maar da mag nie meer. :(

Als je geen fopen() meer mag gebruiken..... Kwaliteitshosting is donders
goedkoop tegenwoordig, het is bijna het zeuren bij huidige hoster niet
meer waard..

>> het tekstbestand niet gewoon buiten de document root zetten en
>> rechtstreeks via het bestandssysteem aanspreken? Veiliger,
>> betrouwbaarder
>> en makkelijker...
>
> En dit, je voelt 'm al, is ook een brug te ver voor mij. Wat betekent dit
> concreet? Bedankt Rik! :)

Stel je hoster concreet de vraag, waar je een bestand buiten de
document_root kunt opslaan die je met fopen() kan bereiken. Hebben ze dit
niet zou ik direct op zoek gaan naar een betere hoster, hebben ze dit wel
ben je direct geholpen :).
--
Rik Wasmus

Angelique Rietberg
13/02/07, 19:42
"Rik" <luiheidsgoeroe@hotmail.com> schreef in bericht
news:op.tnntgyi8qnv3q9@misant...

> De vraag is natuurlijk of het bij je host kan. Weet je wat, we gaan even
> voor de simpelere oplossing.
>
> 1. Haal het .htaccess bestand tijdelijk even weg.
> 2. Maak het volgende PHP-bestandin dezelfde directory:
> <?php
> echo "\nIP-adres: ".$_SERVER['REMOTE_ADDR'];
> echo "\nhost: ".gethostbyaddr($_SERVER['REMOTE_ADDR']);
> ?>
> 3. Probeer dit met CURL te openen en kijk wat er bij IP-adres en/of host
> komt te staan.
>

Online gezet, ingevuld in .htaccess en jawel, dit werkt. Bedankt Rik!! :)