Apache ve PHP’nin versiyon bilgilerini gizleme

Apache ve PHP’nin versiyon bilgilerini headerdan gizleme ihtiyacı duydum. Dursun diye buraya da koyayım bari.

Apache’nin versiyon bilgilerini saklamak için :

/etc/httpd/conf/httpd.conf dosyasında ( ya da sizin conf dosyasınız nerede ise ) aşağıdaki parametreleri ayarlayın.

ServerSignature Off
ServerTokens ProductOnly

Siz aşağıdaki tablodan yararlanıp isterseniz başka değer verebilirsiniz.

ServerToken Görüntülenecek Bilgi
ProductOnly Server: Apache
Major Server: Apache/2
Minor Server: Apache/2.0
Minimal Server: Apache/2.0.55
OS Server: Apache/2.0.55 (Redhat)
Full(veya boş) Server: Apache/2.0.64 (Unix) mod_ssl/2.0.64 OpenSSL/0.9.8e-fips-rhel5
 

Parametreleri ayarlamadan önce :

root@localhost:~# curl -I http://www.kursaddara.com
HTTP/1.1 200 OK
Date: Mon, 16 Apr 2012 06:45:50 GMT
Server: Apache/2.0.64 (Unix) mod_ssl/2.0.64 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635
X-Powered-By: PHP/5.2.9
Connection: close
Content-Type: text/html

Parametreleri ayarladıktan sonra :

root@localhost:~# curl -I http://www.kursaddara.com
HTTP/1.1 200 OK
Date: Mon, 16 Apr 2012 06:47:56 GMT
Server: Apache
X-Powered-By: PHP/5.2.9
Connection: close
Content-Type: text/html

Gördüğünüz gibi Apache bilgileri gizlendi.

Şimdi PHP versiyon bilgilerini gizleyelim.

/etc/php.ini dosyasında ( sizin config dosyanız nerede ise ) aşağıdaki parametreleri ayarlayın.

expose_php Off

Parametreleri ayarladıktan sonra :

root@localhost:~# curl -I http://www.kursaddara.com
HTTP/1.1 200 OK
Date: Mon, 16 Apr 2012 06:48:47 GMT
Server: Apache
Connection: close
Content-Type: text/html

Gördüğünüz gibi PHP versiyon bilgisi gitti.

Bu parametreleri değiştirdikten sonra apache’yi restart etmeniz gerekmektedir.

Posted in Apache, Linux, PHP on April 16th, 2012 by Kürşad DARA | | 0 Comments

Facebook uygulamanızı kullanan kullanıcıların duvarına otomatik veri yollama

Facebook uygulamalarınızı kullanan kullanıcıların duvarlarına otomatik veri yollamak için aşağıdaki kod bloğunu kullanabilirsiniz.

$attachment = array('message' => 'mesajınız',
                'name' => 'Uygulama adı',
                'caption' => "Uygulama adı",
                'link' => 'Uygulama linki',
                'description' => 'İçerik',
                'picture' => 'resim tam linki'
                );


    $result = $facebook->api('/me/feed/',
                                'post',
                                $attachment);

Not : İlgili javascriptleri ve api kodlarını da sayfanıza include etmiş olmanız gerekmektedir.

Posted in PHP, Web Development on June 14th, 2011 by Kürşad DARA | | 0 Comments

Yazdığınız PHP programlarının güvenliği için bir checklist

İncelenmesi gereken güzel bir checklist.

Güvenli mi yazdığınız programlar ?

Checklist için tıklayınız.

Posted in PHP, Web Development on May 12th, 2011 by Kürşad DARA | | 0 Comments

Facebook sayfalarda kullanıcının beğenip beğenmediğini tespit etme.

Kodunuzun en başında aşağıdaki kodu kullanırsanız kullanıcının sayfayı beğenip beğenmediğini anlayabilirsiniz.


function parsePageSignedRequest() {
    if (isset($_REQUEST['signed_request'])) {
      $encoded_sig = null;
      $payload = null;
      list($encoded_sig, $payload) = explode('.', $_REQUEST['signed_request'], 2);
      $sig = base64_decode(strtr($encoded_sig, '-_', '+/'));
      $data = json_decode(base64_decode(strtr($payload, '-_', '+/'), true));
      return $data;
    }
    return false;
  }
  if($signed_request = parsePageSignedRequest()) {
    if($signed_request->page->liked) {
      echo "Sayfayı beğendiğiniz için teşekkürler";
    } else {
      echo "Önce sayfayı beğenmeniz gerekmektedir.";
       echo("< s c r i p t > top.location.href='http://www.facebook.com/pages/blabla/198687143423423'< / s c r i p t >");
    } 
  }

Posted in PHP, Web Development on May 11th, 2011 by Kürşad DARA | | 0 Comments

Bağlantı cihazına göre web sitesine otomatik yönlendirme.

Web sitenizin pc ve mobile versiyonunu yaptıysanız ve otomatik yönlendirme yapmak isterseniz aşağıdaki kodu kullanabilirsiniz.

< ?php

$mobile_browser = '0';

if(preg_match('/(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone)/i',
    strtolower($_SERVER['HTTP_USER_AGENT']))){
    $mobile_browser++;
    }

if((strpos(strtolower($_SERVER['HTTP_ACCEPT']),'application/vnd.wap.xhtml+xml')>0) or 
    ((isset($_SERVER['HTTP_X_WAP_PROFILE']) or isset($_SERVER['HTTP_PROFILE'])))){
    $mobile_browser++;
    }

$mobile_ua = strtolower(substr($_SERVER['HTTP_USER_AGENT'],0,4));
$mobile_agents = array(
    'w3c ','acs-','alav','alca','amoi','audi','avan','benq','bird','blac',
    'blaz','brew','cell','cldc','cmd-','dang','doco','eric','hipt','inno',
    'ipaq','java','jigs','kddi','keji','leno','lg-c','lg-d','lg-g','lge-',
    'maui','maxo','midp','mits','mmef','mobi','mot-','moto','mwbp','nec-',
    'newt','noki','oper','palm','pana','pant','phil','play','port','prox',
    'qwap','sage','sams','sany','sch-','sec-','send','seri','sgh-','shar',
    'sie-','siem','smal','smar','sony','sph-','symb','t-mo','teli','tim-',
    'tosh','tsm-','upg1','upsi','vk-v','voda','wap-','wapa','wapi','wapp',
    'wapr','webc','winw','winw','xda','xda-');

if(in_array($mobile_ua,$mobile_agents)){
    $mobile_browser++;
    }
if (strpos(strtolower($_SERVER['ALL_HTTP']),'OperaMini')>0) {
    $mobile_browser++;
    }
if (strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'windows')>0) {
    $mobile_browser=0;
    }


if($mobile_browser>0){
   header('Location: http://siteniz/mobile_versiyonu'); 
}
  // else {
  // header('Location: http://siteniz/pc_versiyonu');
  // }
   
?>

Posted in PHP, Web Development on April 26th, 2011 by Kürşad DARA | | 0 Comments

Php Curl ile bir sayfadan resim kaydetmek.

 
< ?php
$url = "http://www.bilgiakademisi.net/images/s/logo.jpg";

$agent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.9) ";
$agent .= "Gecko/20061206 Firefox/1.5.0.9';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_exec($ch);
$httpfile  = curl_multi_getcontent ($ch);
file_put_contents("/tmp/tmp.jpg",$httpfile);
?>

Posted in Linux, PHP on January 26th, 2009 by Kürşad DARA | | 0 Comments

PHP 4/5 LiteSpeed API Desteği ile derleme

Litespeed Web Server kendi php apisini kullanarak çalışmayı tercih ediyor. Bunun için LiteSpeed kuracağınız yerde php yi LiteSpeed API (lsapi) desteği ile derlerseniz daha performanslı çalışacaktır.
Bu aşamada izleyeceğimiz adımlar şunlar :

1) Öncelikle PHP sitesinden (http://tr2.php.net/downloads.php) PHP 4 veya PHP 5 son versiyonunu indirin.

wget http://tr2.php.net/get/php-5.2.5.tar.gz/from/this/mirror
tar -zxf php-5.2.5.tar.gz 

(more…)

Posted in LiteSpeed on February 26th, 2008 by Kürşad DARA | | 3 Comments