PHP‎ > ‎

Disable php di sebuah folder

posted 13 May 2011, 09:53 by Muhammad Jazman   [ updated 13 Jul 2012, 00:41 ]
Ceritanya, di sebuah server politeknik kampar, dibuatkan sebuah tempat untuk share file, foto, dsb menggunakan samba. Akibatnya, SETIAP ORANG DI DUNIA akan dapat mengakses server tersebut dengan mengetikkan alamat dibawah ini di windows explorernya

\\server\share-name

tapi, ternyata tidak semua orang bisa menggunakan share SMB tersebut di Microsoft Windowsnya. Saya tidak tahu pasti, karena kadang di sebuah PC dengan Windows XP, kadang minta login sebagai Guest, kadang otomatis, kadang BAHKAN TIDAK BISA SAMA SEKALI.

Berbagai trik dengan 
net use \\server\IPC$

bahkan juga tidak mampu, makanya, solusinya saya buatkan sebuah alias di apache2 nya,
di Ubuntu, buat

Alias /share$ /share

sehingga nanti untuk mengunduh, user dapat mengakses 

http://server/share$/

Masalah

Dengan membuatkan Alias di Apache2 nya, ini membuat "lubang" sekuritas, dimana user dapat meng-unggah (mengupload) file dengan ekstensi php, dan menjalankannya di server dengan mengaksesnya via broser:

http://server/share$/php-evil-code.php

Solusi

Alternatif-1: RemoveHandler application/x-httpd-php

jika di /etc/apache2/mods-enabled/php5.conf nya menggunakan SetHandler, maka tinggal dibuatkan RemoveHandler
<Directory /share>
  Options Indexes FollowSymLinks
     <FilesMatch "\.ph(p3?|tml)$">
         RemoveHandler application/x-httpd-php
     </FilesMatch>
</Directory>

Alternatif-2: Deny all PHP file

Sedikit lebih "kejam"
<Directory /share>
  Options Indexes FollowSymLinks

     # jangan bolehkan mengeksekusi file php, karena kita
     # membuka akses upload ke share$ di samba
     <FilesMatch "\.ph(p3?|tml)$">
         Order Deny,Allow
         Deny from All
      </FilesMatch>
</Directory>


Kesimpulan / Saran

  • Tidak semua orang yang telah memiliki laptop, serjana, menggunakan Microsoft Windows sejak lama, tahu dengan Windows Explorer


Comments