php basedir. $fil="/data.txt"

This is a discussion on php basedir. $fil="/data.txt" within the Produktion af websider ved brug af php (dk.edb.internet.webdesign.serverside.php) forum.

php basedir. $fil="/data.txt"

Postby ScooterGrisen on Mon Nov 17, 2008 8:06 am

Jeg har en hjemmeside: http://mentos.wep.dk/ hvor jeg blandet html og
php.
Jeg har mange forskellige html filer i forskellige mapper som gør brug
af den samme php fil ved hjælp af <?php include('php/
gemrefererdata.php'); ?>

I gemrefererdata.php skal jeg gemme data til en fil som ligger et
bestemt sted.
Problemet er så at jeg kan ikke skrive $datafil = "/data/
refererdata.txt"; fordi så får jeg en basedir restriction fejl fra php
når jeg prøv at få adgang fra roden /
hjemmesiden ligger på en windows server så min hjemmeside ligger i e:
\hjemmesider\osv
Men hvis jeg prøver at skrive $datafil = "e:\hjemmesider\osv" så får
jeg den samme basedir restriction fejl.

Ved at køre phpinfo() kan jeg se der står safe_mode local value=On
master value=Off

Jeg vil bare gerne kunne skrive $datafil = "/data/datafil.txt" sådan
det virker lige meget hvilken html fil i hvilken mappe der kalder php
scritptet..

Håber i kan hjælpe.

I kan se kildekoden her:

Først 2 html filer som kalder gemrefererdata.php fra 2 forskellige
mapper
http://mentos.wep.dk/scooterhjemmeside/viskode.html?../index.html
http://mentos.wep.dk/scooterhjemmeside/viskode.html?scootere.html

http://mentos.wep.dk/scooterhjemmeside/viskode.html?php/gemrefererdata.php
ScooterGrisen
 
Posts: 15
Joined: Mon Nov 17, 2008 8:06 am

Re: php basedir. $fil="/data.txt"

Postby Kim Emax on Tue Nov 18, 2008 1:13 am

On Nov 17, 4:06 pm, ScooterGrisen wrote:
> Jeg har en hjemmeside:http://mentos.wep.dkhvor jeg blandet html og
> php.
> Jeg har mange forskellige html filer i forskellige mapper som gør brug
> af den samme php fil ved hjælp af > gemrefererdata.php'); ?>
>
> I gemrefererdata.php skal jeg gemme data til en fil som ligger et
> bestemt sted.
> Problemet er så at jeg kan ikke skrive $datafil = "/data/
> refererdata.txt"; fordi så får jeg en basedir restriction fejl fra php
> når jeg prøv at få adgang fra roden /

kun root (g evt. udvalgte brugere) har adgang der. En webserver kører
typisk som nobody og har få rettigheder.

> Jeg vil bare gerne kunne skrive $datafil = "/data/datafil.txt" sådan
> det virker lige meget hvilken html fil i hvilken mappe der kalder php
> scritptet..

Læg din data fil i et dir, hvor du selv kan styre om der er
skriveadgang eller ej.

For at uvedkommende ikke får adgang til din datafil vil jeg foreslå at
du laver et dir på samme niveau som det dir, hvor dine php filer
ligger (DOCUMENT_ROOT), eks.

/var/www/mentos.wep.dk/
/var/www/mentos_data/

Har du et webhotel, hvor det ikke er muligt, så har du måske mulighed
for at uploade en .htaccess fil til dit data dir, der beskytter filen.
Noget i stil med:

DENY FROM ALL


Ellers vil jeg kigge på noget database løsning, hvis jeg var dig.

--
Mvh
Kim Emax

Kim Emax
 
Posts: 208
Joined: Tue Jul 15, 2003 12:32 pm


Return to Produktion af websider ved brug af php (dk.edb.internet.webdesign.serverside.php)

Who is online

Users browsing this forum: No registered users and 0 guests