safe_mod tarafından kısıtlama getirilen fonksiyonların listesi
http://us4.php.net/manual/en/features.s ... ctions.php
sıra geldi kapatmaya adımlara geçelim
evet başlıyalım önce phpinfo dosyası oluşturucaz bir text editörü açın örnek notepad
içine bu php kodunu yazın
- Kod: Tümünü seç
<?php
phpinfo();
?>
adını phpinfo.php olarak kaydedin ve sitenizze upload edin
ve tarayıcınızdan istetin
http://www.siteniz.com/phpinfo.php diye
ve şöle bir ekran gelicek karşınıza
http://members.lycos.co.uk/anlatim/res/shell2.jpg
burada 6 satır aşağı baktığınız zaman php.ini nin yolu gösteriliyor
Configuration File (php.ini) Path /usr/local/Zend/etc/php.ini
diyerekten
şimdi serverımıza root yetkisi ile giriş yapıyoruz
daha sonra
- Kod: Tümünü seç
pico /usr/local/Zend/etc/php.ini
yazarak php konfigurasyon dosyamızı açıyoruz
açılan sayfada ctrl+w tuşlarına basıyoruz altta search yazan kısım çıktı oraya
safe_mod
yazıyoruz ve resimde yanında Off yazan ekran yanına geldi
http://members.lycos.co.uk/anlatim/res/safemod1.jpg
bu Off yazan kısımı On yazıcak şekilde değiştiriyoruz ve görünümü
http://members.lycos.co.uk/anlatim/res/safemod2.jpg
oluyor sonra ctrl+x e basıp çıkıyoruz httpd daemonuna restart atıcaz
konsoldan şu komutu yazıyoruz
- Kod: Tümünü seç
/etc/init.d/httpd restart
http://members.lycos.co.uk/anlatim/res/shell5.jpg
şimdi bazı sitelerdeki kalitesiz scriptlerle sorun yaşayabilrisiniz size geldiler safe_mod yüzünden scriptim çalışmıyor dediler napıcaksınız httpd.conf ta yani apache nin konfigurasyon dosyasında php safe_modu tüm server da kapatmayıp sadece sorun yaşayan sitelerde kapatıcaksınız şimdi onu anlatıcam daha önce anlattığım disable_functions kısmı safe moddan tamamen bağımsız açık olsada kapalı olsada safe_mod onlar geçerli hala kapatsanız bile 1. dereceden korumamız var şimdi site tabanlı nasıl kapatacağımızı anlatayım
- Kod: Tümünü seç
locate httpd.conf
/etc/httpd.old/conf/httpd.conf
/root/installd/buildapache/httpd.conf.tmpeditlib
/usr/share/redhat-config-httpd/httpd.conf.xsl
/usr/local/apache/conf/httpd.conf.default
/usr/local/apache/conf/httpd.conf
/usr/local/apache/conf/httpd.conf.bak
/usr/local/apache/conf/httpd.conf.tmpeditlib
/usr/local/apache/conf/httpd.conf-
/usr/local/apache/conf/httpd.conf,v
/usr/local/apache/conf/httpd.conf_yedek
/usr/local/apache/conf/httpd.conf-mod_sec
/usr/local/apache/conf/httpd.conf.bak2
/usr/local/apache/conf/httpd.conf.save
/usr/local/apache/conf/httpd.conf.yedek
/usr/src/mod_security-1.8.6/httpd.conf.regression-v1
/usr/src/mod_security-1.8.6/httpd.conf.regression-v2
/usr/src/mod_security-1.8.6/httpd.conf.example-minimal
/home/cpapachebuild/buildapache/httpd.conf.tmpeditlib
yani burada
/usr/local/apache/conf/httpd.conf
şimdi editorumuzle bu dosyayı açalım
- Kod: Tümünü seç
pico /usr/local/apache/conf/httpd.conf
şimdi ctrl+v tuşlarına basarak dosyanın en altına iniyoruz orda
orda şöyle kısımlar gördünüz
- Kod: Tümünü seç
<VirtualHost 127.0.0.1>
ServerAlias www.localhost.com localhost.com
ServerAdmin webmaster@localhost
DocumentRoot /home/localhost/public_html
BytesLog domlogs/localhost-bytes_log
<IfModule mod_userdir.c>
UserDir disabled
UserDir enabled localhost
</IfModule>
<IfModule mod_php4.c>
php_admin_value open_basedir "/home/localhost/:/usr/lib/php:/usr/local/lib/php:/t$
</IfModule>
ServerName www.localhost
User heroyun
Group heroyun
CustomLog domlogs/localhost.com combined
ScriptAlias /cgi-bin/ /home/localhost/public_html/cgi-bin/
</VirtualHost>
doğru yerdesiniz şi,mdi burada naısl bu site için server tabanlı php safe_modun kapatılacağını göstericeğim
bunu ekliyeceğiz şimdi
php_admin_flag safe_mode Off
eğer bu çalışmazsa bunuda ekliyebiliriz dikkat edin 2 sini bir anda eklemeyin
php_admin_flag safe_mode 0
- Kod: Tümünü seç
<VirtualHost 127.0.0.1>
ServerAlias www.localhost.com localhost.com
ServerAdmin webmaster@localhost
DocumentRoot /home/localhost/public_html
php_admin_value safe_mode 0
BytesLog domlogs/localhost-bytes_log
<IfModule mod_userdir.c>
UserDir disabled
UserDir enabled localhost
</IfModule>
<IfModule mod_php4.c>
php_admin_value open_basedir "/home/localhost/:/usr/lib/php:/usr/local/lib/php:/t$
</IfModule>
ServerName www.localhost
User heroyun
Group heroyun
CustomLog domlogs/localhost.com combined
ScriptAlias /cgi-bin/ /home/localhost/public_html/cgi-bin/
</VirtualHost>
DocumentRoot /home/localhost/public_html kısımı ile BytesLog domlogs/localhost-bytes_log kısmı arasına ekliyoruz php_admin_value safe_mode 0 değerimizi
bunu yapıp gene
- Kod: Tümünü seç
/etc/init.d/httpd restart
http://members.lycos.co.uk/anlatim/res/shell5.jpg
Bu Kadar...