Avatar billede encorez Nybegynder
16. juli 2003 - 17:15 Der er 10 kommentarer og
1 løsning

ownership af filer

Hej

Mit problem er kort fortalt at en fil, genereret af af et php-script, melder fejl når man bagefter vil læse filen, idet filen skal include og require nogle andre filer, som IKKE er generet af et script, men bare et oprettet på normal vis af mig.

Fejlmeddellelse:
Warning: main(): SAFE MODE Restriction in effect. The script whose uid is 15001 is not allowed to access ./function/db-connect.php owned by uid 57878 in /net/users/a57/878/xxxx/www/ITPAS/hejsa18.php on line 3

Warning: main(./function/db-connect.php): failed to open stream: Permission denied in /net/users/a57/878/xxxx/www/ITPAS/hejsa18.php on line 3

Håber denne fejl kan fortælle nogen hvad der er galt og mere vigtigt hvordan jeg kan løse det. Det er noget af et stort problem for mig, hvis jeg ikke kan få lov til at include filer i en anden fil, bare fordi den anden fil bliver genereret af et script.

Og efter at have læst en del om alt dette, tror jeg problemet er at de to filer ikke får samme owner. Min udbyder Azero, skriver følgende om dette:
"VIGTIGT: ejeren af den uploadede fil vil være webserver brugeren og derfor kan man _ikke_ åbne den uploadede fil gennem et andet PHP script, heller ikke selvom filen er 777. Åbning af filen tillades ikke da man ikke selv "ejer" den uploadede fil. Der er pt _ingen_ løsning på dette problem."
se: http://www.azero.dk/support/programmering/php/phpupload/


Simon
Avatar billede sukos Juniormester
16. juli 2003 - 17:28 #1
Upload de nødvendige filer?
Efter sletning af de gamle inden da?
Avatar billede encorez Nybegynder
16. juli 2003 - 17:35 #2
jeg er ikke helt med på hvad du mener sukos. Jeg skal ikke oploade filer. Jeg lader et script generere en php-fil, hvori jeg indcluder nogle andre php-filer. Og det er ved denne include fejlen kommer
Avatar billede sukos Juniormester
17. juli 2003 - 01:30 #3
Ja, ok,

safemode...........
Når du laver en php-fil, definerer du stien hvortil den skal lægges med bl.a.

$filnavn = $_SERVER["DOCUMENT_ROOT"] ."/videre/sti/til/filnavn.php";

altså ikke bare skriver:

$filnavn = "/videre/sti/til/filnavn.php";

Mener det er her safemode kommer ind, bl.a.
Avatar billede encorez Nybegynder
17. juli 2003 - 09:02 #4
jeg har brugt den sidste ind til videre. Jeg vil prøve lidt senere om $_server gør en forskel
Avatar billede robotten Praktikant
17. juli 2003 - 11:33 #5
Avatar billede encorez Nybegynder
17. juli 2003 - 13:59 #6
tak for påmindelsen. Jeg går ud fra du hentyder til mine udestående point. Jeg har ikke fået vendt tilbage til de spørgsmål fordi jeg ikke synes jeg har fået svar der løste mine problemer. Jeg skal nok se på det hurtigst mulig
Avatar billede robotten Praktikant
18. juli 2003 - 20:29 #7
Korrekt antaget. Godt, at du lige gider kigge på det.
Avatar billede encorez Nybegynder
19. juli 2003 - 10:31 #8
sukos -> nu har jeg afprøvet det du foreslog men det hjælper desværre lige lidt. Hvis jeg lader scriptet oprette en fil får den uid: 15001, hvis jeg selv opretter en fil får den uid: 57878.
Mine egne filer kan godt include filer, oprettet af et script, men det virker bare ikke omvendt.

Jeg har endda prøvet at lege med chown, men jeg kan ikke engang få lov til at ændre owner på filerne.
Nogen forslag?
Avatar billede andy Nybegynder
21. juli 2003 - 13:26 #9
Skift til en host med knap så strikse safe mode settings.

Ellers så:
http://dk.php.net/manual/en/features.safe-mode.php
"gk at proliberty dot com
27-Apr-2003 09:05

The documentation on safe_mode is wrong. It says:
>When safe_mode is on, PHP checks to see if the owner of the current script matches the owner of the file to be operated on by a file function.

In truth, it also checks the ownership of the current directory: directory ownership overrides file UID - i.e., if you own the directory, your script can read any files in the directory, regardless of file UID. Rasmus has confirmed that this is not a bug, it is by design. The documentation should be updated to reflect this. "

Har du prøvet det?
Avatar billede encorez Nybegynder
23. juli 2003 - 09:18 #10
andy -> jeg har lidt travlt for tiden, men jeg vil se på det snarest mulig. Hvis jeg forstår det du har postet korrekt, så skal jeg bare ejer der biblioteker som jeg arbejder i, og det skulle jeg mene jeg gør. Alle biblioteker jeg arbejder med har jeg selv oprettet. Jeg arbejder direkte på serveren, så bibliotekerne er oprettet via FTP.
Hvad foreslår du ellers jeg konkret forsøger?
Avatar billede encorez Nybegynder
26. juli 2003 - 12:34 #11
det er åbenbart et lidt større problem. Jeg laver selv en lappeløsning hvor jeg lader et script lave de filer som jeg vil include. På den måde får de samme ownership-id. Det er ikke en god måde nej, men hvis ikke nogen kan give mig en bedre løsning, må jeg køre videre med det jeg kan få til at virke.
Tak for inlæg
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester