From: Baris Ozyurt (baris@tuxworkshop.com)
Date: Sat 31 May 2003 - 22:14:20 EEST
Merhaba,
PHP , =F6ntanimli olarak exec komutunun calismasina izin vermez. php.ini
dosyanizda 'safemode =3D on' satirini degistirebilirsiniz.=20
Ancak web =FCzerinden shell komutlarina erisim izni vermek gercekten =
ciddi
risk icerir. Cok mecbur degilseniz dizin / dosya islemleri icin PHP' nin
dosya fonksiyonlarini kullanabilirsiniz. =20
safemode =3D on (shell exec kapali) iken, yine php.ini icinde
'safe_mode_exec_dir =3D' b=F6l=FCm=FCn=FCde tanimli dizin icerisinde =
bulunan
dosyalari yine de calistirabilirsiniz.=20
Calistirmak istediginiz dosyalari burada tanimlayacaginiz dizine
kopyalayabilir, bu dizin icine sembolik ba=F0lant=FD ile koyabilir, ya =
da
dizin olarak /usr/bin gibi shell komutlarinin bulundugu dizini
g=F6sterebilirsiniz (tekrar yaziyorum bu, sisteminizin g=FCvenligi =
acisindan
gercekten tehlikeli olabilir).
Tabi PHP' nin bir dosyayi calistirabilmesi icin, web sunucusunu
calistiran kullanici/kullanici grubunun bu dosyanin sahibi olmasi ve
dosyanin calistirilma hakki olmasi gerekir. (RedHat 'da nobody/nobody
kullanici/grubu, chmod 755 gibi).
Sevgiler,
Baris Ozyurt
-----Original Message-----
From: linux-programlama-bounce@liste.linux.org.tr
[mailto:linux-programlama-bounce@liste.linux.org.tr] On Behalf Of Erhan
Yeli
Sent: Saturday, May 31, 2003 9:37 PM
To: linux-programlama@liste.linux.org.tr
Subject: [linux-programlama] exec() ile dosya olusturma
Selamlar,
RedHat 8.0 altinda root olarak PHP kullanarak dosya=20
olusturamiyorum.
exec() kullanarak olusturmaya calistim. /tmp dinininde de olusturmaya=20
calistigimda sonuc olumsuz oldu.
exec("touch /tmp/")
Asil istedigim bu komutu calistirabilmek...
exec("client mgr:active_requests > /usr/aktif");
Tesekkurler...
_________________________________________________________________
MSN 8 with e-mail virus protection service: 2 months FREE*=20
http://join.msn.com/?page=3Dfeatures/virus