/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
php + safe mode on
Fra : kim isaksen


Dato : 22-11-04 00:38

Hejsa.

Jeg har et phpscript der lave thumbs af uploadede billeder m.m. Hvad der
sker der er ikke vigtigt.

Men jeg har behoc for at scripte først een folder, og derefter een
folder deri, med diverse filer. (images, xml m.m.)

Dette virker fint på min testserver, men nu ser jeg at surftowns server
kører i savemode. (sux!).

###### script part ######

if(!is_dir($_SERVER["DOCUMENT_ROOT"]."/upload/images/XX/")) {

mkdir($_SERVER["DOCUMENT_ROOT"]."/upload/images/XX/",777);
}

if(!is_dir($_SERVER["DOCUMENT_ROOT"]."/upload/images/XX/thumb/")) {
mkdir($_SERVER["DOCUMENT_ROOT"]."/upload/images/XX/thumb/",777);
}

printer flg. error.

Warning: mkdir(): SAFE MODE Restriction in effect. The script whose
uid/gid is 115944/115944 is not allowed to access
STRIPPED_PATH/images/XX owned by uid/gid 398/398 in

###### script part ######

Kan jeg på nogen måde klare dette ved at scripte. Jeg har kigget på
ini_set('safe_mode_include_dir',DIR_TO_PATH), men det kan jeg ikke fyre
af fra savemode.
Det er ikke holdbart at jeg manuelt skal sætte chmod eller chown på de
nye folders da de genereres dynamisk.

What to do ?

Håber nogen kan hjælpe mig
Kim Isaksen

 
 
kim isaksen (22-11-2004)
Kommentar
Fra : kim isaksen


Dato : 22-11-04 02:21

kim isaksen wrote:
> Hejsa.
>
> Men jeg har behoc for at scripte først een folder, og derefter een
> folder deri, med diverse filer. (images, xml m.m.)
>
> Dette virker fint på min testserver, men nu ser jeg at surftowns server
> kører i savemode. (sux!).
>
> ###### script part ######
>
> if(!is_dir($_SERVER["DOCUMENT_ROOT"]."/upload/images/XX/")) {
> mkdir($_SERVER["DOCUMENT_ROOT"]."/upload/images/XX/",777);
> }
>
> if(!is_dir($_SERVER["DOCUMENT_ROOT"]."/upload/images/XX/thumb/")) {
> mkdir($_SERVER["DOCUMENT_ROOT"]."/upload/images/XX/thumb/",777);
> }
>
> printer flg. error.
>
> Warning: mkdir(): SAFE MODE Restriction in effect. The script whose
> uid/gid is 115944/115944 is not allowed to access
> STRIPPED_PATH/images/XX owned by uid/gid 398/398 in
>
>
Fandt en løsning vha ftp_connect..!

Så kan de skyde en hvid pil efter deres savemode. Men hurtigt er det
ikke. :)

function FtpMkdir($path, $newDir,$chMod='0755') {
$server='ftp.yourserver.com'; // ftp server path
$connection = ftp_connect($server); // connection string

// login to ftp server
$user = "username";
$pass = "password";
$result = ftp_login($connection, $user, $pass);

// check if connection was made
if ((!$connection) || (!$result)) {
return false;
exit();
}
else {
ftp_chdir($connection, $path); // go to destination dir
if(ftp_mkdir($connection,$newDir)) { // create directory
if(!ftp_site($connection, 'CHMOD '.$chMod.' /'.$path.$newDir)){
echo $path.$newDir;
}
return $newDir;
} else {
return false;
}
ftp_close($connection); // close connection
}
}

/iM

Tommy Ipsen (23-11-2004)
Kommentar
Fra : Tommy Ipsen


Dato : 23-11-04 01:14

kim isaksen wrote:

> if(!is_dir($_SERVER["DOCUMENT_ROOT"]."/upload/images/XX/")) {
> mkdir($_SERVER["DOCUMENT_ROOT"]."/upload/images/XX/",777);
> }

Du mener nok:

mkdir($_SERVER["DOCUMENT_ROOT"]."/upload/images/XX/", 0777);

(Oktale talsystem - se evt. dokumentationen)

> Warning: mkdir(): SAFE MODE Restriction in effect. The script whose
> uid/gid is 115944/115944 is not allowed to access
> STRIPPED_PATH/images/XX owned by uid/gid 398/398 in

Enten løses det vha. ovenstående eller også bør du kontrollere
rettighederne for /upload/images

Mvh Tommy

Peter Brodersen (23-11-2004)
Kommentar
Fra : Peter Brodersen


Dato : 23-11-04 01:44

On 23 Nov 2004 01:13:30 +0100, Tommy Ipsen <tipsen@imada.sdu.dk>
wrote:

>> Warning: mkdir(): SAFE MODE Restriction in effect. The script whose
>> uid/gid is 115944/115944 is not allowed to access
>> STRIPPED_PATH/images/XX owned by uid/gid 398/398 in
>
>Enten løses det vha. ovenstående eller også bør du kontrollere
>rettighederne for /upload/images

Det er vel snarere en safe_mode-problemstilling, der omhandler UID'er.
Det har intet at gøre med ordinær rettighedstildeling.

En fil, der har fulde læserettigheder for alle kan stadigvæk ikke
læses af PHP, hvis PHP kører i safe_mode, og filen ikke har den samme
UID som det afviklende script.

--
- Peter Brodersen

kim isaksen (23-11-2004)
Kommentar
Fra : kim isaksen


Dato : 23-11-04 12:03

Peter Brodersen wrote:

> On 23 Nov 2004 01:13:30 +0100, Tommy Ipsen <tipsen@imada.sdu.dk>
> wrote:
>
>
>>>Warning: mkdir(): SAFE MODE Restriction in effect. The script whose
>>>uid/gid is 115944/115944 is not allowed to access
>>>STRIPPED_PATH/images/XX owned by uid/gid 398/398 in
>>
>>Enten løses det vha. ovenstående eller også bør du kontrollere
>>rettighederne for /upload/images
>
>
> Det er vel snarere en safe_mode-problemstilling, der omhandler UID'er.
> Det har intet at gøre med ordinær rettighedstildeling.
>
> En fil, der har fulde læserettigheder for alle kan stadigvæk ikke
> læses af PHP, hvis PHP kører i safe_mode, og filen ikke har den samme
> UID som det afviklende script.
>

Præcist.. Og det er ***irriterende.
Men som sagt så kan man ftp_scripte sig ud af det.

/iM

kim isaksen (23-11-2004)
Kommentar
Fra : kim isaksen


Dato : 23-11-04 12:01

Tommy Ipsen wrote:
> kim isaksen wrote:
>
>> if(!is_dir($_SERVER["DOCUMENT_ROOT"]."/upload/images/XX/")) {
>> mkdir($_SERVER["DOCUMENT_ROOT"]."/upload/images/XX/",777);
>> }
>
>
> Du mener nok:
>
> mkdir($_SERVER["DOCUMENT_ROOT"]."/upload/images/XX/", 0777);
>
jeps. Det har du ret i.

> (Oktale talsystem - se evt. dokumentationen)
>
>> Warning: mkdir(): SAFE MODE Restriction in effect. The script whose
>> uid/gid is 115944/115944 is not allowed to access
>> STRIPPED_PATH/images/XX owned by uid/gid 398/398 in
>
>
> Enten løses det vha. ovenstående eller også bør du kontrollere
> rettighederne for /upload/images

Problemet ved savemode er jo netop at mapper oprettet med mkdir ejes af
en anden owner end scripts gør. Derfor kan det simpelt hent ikke lade
sig gøre at chmod'e med write rettigheder for alle. (777)
Det kan heller ikke lade sig gøre at flytte uploaded images med php's
image functioner og copy. Igen fordi den scriptede mappe ikke kan
tilgåes med den user. i ovenstående tilfælde (uid/gid is 115944/115944
og uid/gid 398/398)

Dette interessante problem fandt jeg også beskrevet på php.net under
mkdir. Der foreslåes det at man skulle kunne bruge ini_set() functionen
til at sætte path's til områder hvor savemode ikke slår igennem, men det
lykkedes ikke for mig. Så ftp_connect functionen blev svaret. se tråd
ovenfor.

/im

Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408942
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste