Avatar billede idasb Nybegynder
14. marts 2004 - 18:13 Der er 9 kommentarer

Problemer med at trække referrer data

Jeg har et problem med at trække referrer-data fra min index.php side over på en refererende side refer.php.

Mine referrers bliver fint registreret hvis de linker direkte til refer.php, men ikke hvis linker direkte til min index.php.

Jeg har inkluderet følgende under </html> på index-siden:
<?php include(dirname($_SERVER['SCRIPT_FILENAME']) . '/refer/refer.php'); ?>

Men får følgende fejl:
Warning: main(): SAFE MODE Restriction in effect. The script whose uid is 505 is not allowed to access /web/www.brygmann.dk/www/blog/refer/refer.php owned by uid 625 in /web/www.brygmann.dk/www/blog/index.php on line 868

Warning: main(/web/www.brygmann.dk/www/blog/refer/refer.php): failed to open stream: Success in /web/www.brygmann.dk/www/blog/index.php on line 868

Warning: main(): Failed opening '/web/www.brygmann.dk/www/blog/refer/refer.php' for inclusion (include_path='.:/usr/local/lib/php') in /web/www.brygmann.dk/www/blog/index.php on line 868

Så vidt jeg kan regne ud, er det fordi min host bruger SafeMode, at der går et eller andet galt eller?

Mit spørgsmål er så:
Hvorfor kan jeg trække referrers fra refer.php, men ikke index.php?
Koden til at trække referrers med, har jeg ikke selv skrevet, men bruger textism (http://www.textism.com/tools/refer/). Da mit kendskab til php er meget meget lille, ved jeg ikke engang om de oplysninger jeg har givet er nok/de rigtige ifht. at kunne få et brugbart svar, så sig til hvis der er info der mangler.
Jeg håber her er hjælp at hente.
//Ida
Avatar billede pchris Nybegynder
15. marts 2004 - 14:36 #1
Det ser bare ud til at være et problem med bruger id'er.

refer.php ser ud til at være ejet af bruger 625 - desværre gider PHP ikke lave numrene om til brugernavne.

Din PHP kører som bruger 505 - eller din index.php er ejet af bruger 505.

Når safe-mode er slået til, så tillader PHP ikke at inkludere scripts fra andre brugere. Man ved jo aldrig om de kunne finde påat ændre i dem.

Prøv "ls -n refer.php" eller "ls -ln refer.php" det rigtige sted og se om ikke den skriver at filen er ejet af bruger 625.

Hvis det er tilfældet så kan du lave en "chown 505 refer.php".
Avatar billede idasb Nybegynder
15. marts 2004 - 15:33 #2
Vil det sige at jeg opfettes som bruger 625?
ls -n refer.php eller ls -ln refer.php > hvor er det rigtige sted?
Jeg har nu fundet ud af at få ref.siden til at logge referrers, HVIS de linker direkte til ref. siden. Dvs. det ser ud til, at index.php ikke sender data videre. Har det at gøre med ovenstående?
Avatar billede pchris Nybegynder
18. marts 2004 - 16:22 #3
Ja, måske, hvis det er dig der ejer refer.php.

Det rigtige sted er der hvor filerne ligger, altså i /web/www.brygmann.dk/www/blog/refer.
Prøv at sammenligne output fra "ls -ln refer.php" med "ls -l refer.php".
Den første viser bruger-nummer og gruppe-nummer, den anden viser bruger-navn og gruppe-navn for ejeren af filen.

Index.php sender ikke data videre til refer.php af den simple grund at den ikke inkluderer refer.php. Fejlmeddelelsen siger dig at index.php har forsøgt at inkludere refer.php, men systemet har nægtet at gøre det fordi safemode er aktiv.
Avatar billede sukos Juniormester
18. marts 2004 - 16:34 #4
Hvorfor bruge dirname()?
Fordi du har en fil med et navn, ("dir"), uden .php som filnavn?
Lige ser jeg at du vil include en fil som ligger i dir'et "index/refer.refer.php"

Plejer ikke at gå galt, (ok, rettigheder er en snak!), hvis du bruger enten den fulde sti eller $_SERVER["DOCUMENT_ROOT"] til at definere starten på stien til filen du vil include
Avatar billede sukos Juniormester
18. marts 2004 - 16:35 #5
hov:
Lige ser jeg at du vil include en fil som ligger i dir'et "index/refer/refer.php"
Avatar billede sukos Juniormester
18. marts 2004 - 16:36 #6
he:
Lige ser jeg at du vil include en fil som ligger i dir'et
/web/www.brygmann.dk/www/blog/index/refer.refer.php
Avatar billede sukos Juniormester
18. marts 2004 - 16:36 #7
FUCK!!!!!!!!!!!!!!!
/web/www.brygmann.dk/www/blog/index/refer/refer.php
Avatar billede sukos Juniormester
18. marts 2004 - 16:57 #8
Hvad med:
<?php include($_SERVER["DOCUMENT_ROOT"] ."/refer/refer.php"); ?>
Avatar billede idasb Nybegynder
18. marts 2004 - 21:10 #9
ok, jeg har nu prøvet med både:
<?php include($_SERVER["DOCUMENT_ROOT"] ."/refer/refer.php"); ?>
og
<?php include '/web/www.brygmann.dk/www/blog/refer/refer.php' ?>
uden det gav det ønskede resultat.
Jeg har jo ikke adgang til ls -ln refer.php og ls -l refer.php

I filen hvor jeg skal angive nogle parametre, er jeg faldet over følgende linie:
//    Your web domain, without 'www.', e.g., 'textism.com'
    $rcfg['mydomain'] = 'brygmann.dk';   
Når jeg skriver: 'brygmann.dk/blog' kommer følgende fejl på referer siden (refer.php): Warning: Unknown modifier 'b' in /web/www.brygmann.dk/www/blog/refer/refer.php on line 113
Men da jeg jo er hostet hos wannafind.dk, kan jeg ikke ændre på Safe_Mode...
Ok.... jeg kan lige så godt indse det: Jeg fatter ikke en dadel af det her ;-/
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