[help] melindungi website dengan htaccess

Discussion in 'Desain Web dan Programming' started by Fadli, 17 Jul 2010.

Thread Status:
Not open for further replies.
  1. Fadli

    Fadli Poster 2.0

    Messages:
    155
    Likes Received:
    1
    Trophy Points:
    18
    teman-teman, saya tanya lagi ya disini.... :D
    saya sudah coba cari via google, tapi belum dapat solusi yang tepat. beberapa hal yang ingin saya atasi adalah:

    1. Melarang User Mengakses Folder
    Jika saya punya folder:
    http://domain.ext/images/
    http://domain.ext/css/
    http://domain.ext/scripts/
    maka saya tidak ingin user dapat mengakses folder2 dan mengetahui isi/file yang ada di dalam folder tersebut dan ketika mereka coba mengaksesnya, maka user akan diredirect ke halaman seperti "ERROR: You can't access this page"

    Adapun selama ini cara lama yang saya lakukan adalah dengan menempatkan file index.php yang berisi meta-refresh di setiap folder. Sayangnya, kalau saya punya banyak folder di dalam website, rasanya ga efisien kalau harus copy file index.php di setiap folder? Bisakah hal itu dilakukan cukup sekali saja melalui .htaccess?


    2. Menghapus Extensi .php
    Saya ingin agar menu-menu dari situs PHP Statis saya bisa diakses tanpa harus mengetikkan halaman seperti ini:
    http://domain.ext/about.php
    http://domain.ext/gallery.php
    http://domain.ext/contact.php
    tapi cukup melalui
    http://domain.ext/about
    http://domain.ext/gallery
    http://domain.ext/contact

    secara manual saya sudah coba membuat menu link seperti ini di dalam header.php:
    PHP:
    <ul>
         <
    li><a href="http://localhost/tessite.com/about">About</a></li>
         <
    li><a href="http://localhost/tessite.com/gallery">Gallery</a></li>
         <
    li><a href="http://localhost/tessite.com/contact">Contact</a></li>
    </
    ul>
    untuk mengakses file about.php, gallery.php, contact.php tanpa penambahan coding apapun. dan memang berhasil. tapi yang saya khawatirkan cara ini tidak berlaku untuk semua server, karena mungkin pada server yang tidak mendukung, maka mereka akan menampilkan halaman error karena tidak dapat menemukan halaman /about /gallery /contact dst...

    apa juga bisa ini diterapkan melalui .htaccess yg berlaku untuk semua server?



    3. Melarang Web Grabber
    Web grabber semacam HTTrack, Offline Downloader, Web Offliine dan semacamnya seringkali membuat bandwidth website cepat anjlok. Beberapa kali saya temui ketika menggunakan HTTrack untuk website tertentu, maka saya tidak berhasil melakukan grabbing. sepertinya sih diatur via robots.txt tapi saya ga tau apa isi dari robots.txt itu yang membuat HTTrack tidak berdaya.

    jadi, apakah bisa juga hal ini dilakukan melalui .htaccess sekaligus? atau kalau hanya bisa dilakukan via robots.txt apa sih yang harus diisikan pada file itu? tapi cara ini juga harus bisa berlaku global untuk semua grabber, bukan hanya untuk HTTrack ya...


    terima kasih banyak sekali lagi atas bantuannya :D
     
  2. perdhanahost

    perdhanahost Expert 1.0

    Messages:
    986
    Likes Received:
    147
    Trophy Points:
    43
    Ini mudah. Ganti saja ijin akses foldernya. Tapi ini hanya berlaku jika folder itu bukan milik user yang menjalankan daemon apache.

    Cara yang mas Fadli jalankan itu sebetulnya yang paling efektif walaupun tidak terlalu efisien. Cara itu simple. Cukup masukkan file index.html kosong ke tiap folder yang tidak boleh dilihat isinya oleh visitor.

    Silakan dibaca di:
    http://eisabainyo.net/weblog/2007/08/19/removing-file-extension-via-htaccess/
    http://roshanbh.com.np/2008/02/hide-php-url-rewriting-htaccess.html


    Yang ini, lebih baik dicoba sendiri. Coba upload file .htaccess mas Fadli sendiri ke server. Lihat reaksinya. Semua apache di Unix/Linux support .htaccess walaupun belum tentu pengelola server mengijinkan untuk file itu digunakan.

    Oleh karena itu, cara paling bagus untuk mengetahui diijinkannya penggunaan file itu atau tidak adalah mencoba langsung ke server.

    Ini bisa menggunakan file robots.txt.

    Silakan baca halaman2 berikut ini:
    http://www.robotstxt.org/robotstxt.html
    http://en.wikipedia.org/wiki/Robots_exclusion_standard

    Semoga membantu :)
     
  3. jaapns

    jaapns Hosting Guru Web Hosting

    Messages:
    3,260
    Likes Received:
    443
    Trophy Points:
    83
    Sumbang ilmu :

    Untuk melakukan banyak hal tersebut cukup lakukan hal ini :

    Untuk menyembunyikan folder2 supaya tidak rawan hack itu silahkan tambahkan string berikut di .htaccess :
    Options -Indexes
    kemudian save.

    Untuk mencegah folder tersebut di akses oleh index google bot buatlah file robot.txt
    dengan isi berikut :
    User-agent: *
    Disallow: /cgi-bin/
    Disallow: /wp-content/
    Disallow: /wp-admin/
    Disallow: /wp-includes/

    Itu yang selama ini saya lakukan, silahkan mencoba, bila bermanfaat silahkan di bagi ilmunya dengan yang lain.
     
  4. Fadli

    Fadli Poster 2.0

    Messages:
    155
    Likes Received:
    1
    Trophy Points:
    18
    sip. saya buat seperti ini:
    file .htaccess
    PHP:
    RewriteEngine on
    RewriteCond 
    %{REQUEST_FILENAME} !-d
    RewriteCond 
    %{REQUEST_FILENAME}\.php -f
    RewriteRule 
    ^([^/]+)/$ $1.php

    # Forces a trailing slash to be added
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond 
    %{REQUEST_FILENAME} !-d
    RewriteCond 
    %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
    RewriteRule (.*)$ /$1/ [R=301,L]
    dan di header.php saya buat linknya:
    PHP:
    <ol>
         <
    li><a href="http://localhost/tessite.com/">Home</a></li>
         <
    li><a href="http://localhost/tessite.com/about/">About</a></li>
         <
    li><a href="http://localhost/tessite.com/contact/">Contact</a></li>
    </
    ol>
    untuk sementara ini berhasil. tapi kalau dirasa 'logika' script diatas masih ada yg salah, tlg kasih tau saya ya... :D

    oooo begitu... oke2... :D



    saya bikin seperti ini:
    file robots.txt
    PHP:
    User-agent: *
    Disallow: /cgi-bin/
    Disallow: /css/
    Disallow: /images/
    Disallow: /scripts/
    dan tes dari program2 terbaru yang ada di daftar http://freeware.intrastar.net/offline.htm
    beberapa berhasil ditolak, tapi beberapa lainnya masih bisa lolos. tapi untuk sementara cukup puas lah hehehe...

    makasih banyak ya mas untuk ilmunya!
     
  5. Fadli

    Fadli Poster 2.0

    Messages:
    155
    Likes Received:
    1
    Trophy Points:
    18
    keren...! folder2 didalamnya kalau diakses langsung ke halaman 403 Forbidden. tapi pertanyaan selanjutnya kalau mau bikin halaman custom dari 403 Forbidden itu gmn ya caranya? biar bisa ditampilkan halaman yang lebih bagus gitu? :D

    nah karena google bot dilarang akses ke folder itu, terus kalau misalnya saya taruh script iklan semacam google adsense di dalam salah satu folder tersebut, itu nanti ada efeknya ga ya? misalnya ga dibayar atau malahan dibanned akun saya?


    siap! semoga juga review dari yang saya kerjakan dan ditampilkan disini hasilnya bisa jadi bermanfaat juga buat user2 yg lain kalau punya permasalah serupa.


    btw, sepi banget sih ini board?? atau jangan2 cuma saya aja kali ya yg masih cupu? :D
     
  6. perdhanahost

    perdhanahost Expert 1.0

    Messages:
    986
    Likes Received:
    147
    Trophy Points:
    43
    Yang lolos itu bisa jadi karena program tersebut tidak menghiraukan file robots.txt. Karena file tersebut bukan untuk benar2 melakukan blok terhadap client2 http. Itu cuma satu metode "perjanjian" saja. Secara standar seharusnya para pembuat/pemrogram client http memperdulikan file itu. Tapi boleh2 saja mereka tidak memperdulikan file itu.

    Nah, untuk melakukan blok pada client2 yang tidak menghiraukan file robots.txt itu, paling ampuh yang menggunakan response 403 forbidden (dengan .htaccess) atau dengan mengganti ijin akses folder bersangkutan.
     
  7. perdhanahost

    perdhanahost Expert 1.0

    Messages:
    986
    Likes Received:
    147
    Trophy Points:
    43
    Halaman ini mungkin bisa membantu.. http://www.codestyle.org/sitemanager/apache/errors-403.shtml

    Ngga' juga mas.. jarang ada yang berani memulai dan berbagi kayak mas Fadli. Semoga setelah mas Fadli akan banyak temen2 lain yang akan ikutan nimbrung di sini. :)
     
  8. Fadli

    Fadli Poster 2.0

    Messages:
    155
    Likes Received:
    1
    Trophy Points:
    18
    wah...luar biasa!

    saya bisa mengontrol error page pake:
    PHP:
    ErrorDocument 403 /404.php
    ErrorDocument 404 
    /404.php
    tadinya sih mau dibuat di dalam folder jadinya kodenya harusnya:
    PHP:
    ErrorDocument 403 /error-page/404.php
    ErrorDocument 404 
    /error-page/404.php
    tapi bentrok sama:
    PHP:
    Options -Indexes
    hehehe :D



    waduh, jadi malu saya nih... saya disini cuma bisa banyak nanya, ga bisa bantuin jawab apa2... hehehe...
     
  9. jaapns

    jaapns Hosting Guru Web Hosting

    Messages:
    3,260
    Likes Received:
    443
    Trophy Points:
    83
    iya pake salah satu tips saja, jgn di campur semua ya bentrok.... coba 1 tips, kalo kurang maksimal, nah reset ke awal pake tips yg lain.....
     
  10. jaapns

    jaapns Hosting Guru Web Hosting

    Messages:
    3,260
    Likes Received:
    443
    Trophy Points:
    83
    tidak ada masalah, ngejos aja.... :)
     
Loading...
Thread Status:
Not open for further replies.

Share This Page

Loading...