preloader

Search Here

Membatasi download file dengan PHP

Membatasi download file dengan PHP

Membatasi download file dengan PHP

  • Posted By Lupae Nema
  • On 1 July
  • Tag: Advice, Fitness

Ketika berkunjung ke website - website media sharing file seperti mediafire , 4share ,indowebster , dan lain - lain nya . Sepintas kepikiran , bagaimana cara membatasi download file seperti itu . Jadi suatu file yang diupload tidak bisa begitu saja didownload oleh orang . Setelah bertanya kepada google , ada beberapa trik yang bisa dilakukan oleh administrator untuk membatasi download file ini dengan Php ( Server Side Scripting ) . Pada kesempatan ini pembatasan download file dengan cara melakukan check apakah pengunjung yang akan men  download file memang berhak untuk download file yang dimaksud atau tidak dengan menggunakan SESSION .

​Di contoh ini menggunakan XAMPP , Php 5.2 , Apache .
Misal nya administrator ingin membatasi download suatu file hanya user yang sudah di konfirmasi dapat download file tersebut . Yang dimaksud konfirmasi disini bisa dengan cara melakukan pemeriksaan apakah pengunjung telah login atau berstatus anonymous ( tidak diketahui ) , jika user telah melakukan login DAN telah dikonfirmasi account nya maka  dia dapat men - download file tersebut , jika user belum login maka tidak dapat download file .

​Langsung saja praktek nya , di hosting misal nya path file hostingan nya di folder public_html , buat sebuah folder "file" , karena di contoh ini menggunakan Apache jadi untuk pembatasan akses suatu file menggunakan .htacces . Didalam folde FILE ini , buat file .htaccess dan isi dengan baris ini.

Deny from all

Dan untuk sekedar contoh untuk download file , isi folder tersebut misal nya dengan gambar "file terlarang.jpg".Jadi didalam folder FILE ini akan keliatan seperti berikut

Limit download File

Selanjutnya , membuat file yang akan digunakan untuk akses atau download file ini , misalnya file nya download.php .

  1. <?php
  2. if($_SESSION[’dahlogin’] == true && $_SESSION[’status’]== ’activated’){
  3. //dapatin nama file disimpan di db dari id
  4. $dir= ’file/’;
  5. $filename = ($_GET[’id’] == ’1’) ? ’file terlarang.jpg’ : ’not found no file no download’; //misal id 1 = file terlarang.jpg
  6.  
  7. if( file_exists($dir.$filename) ){
  8. header("Content-Type: application/octet-stream");
  9. header("Pragma: private");
  10. header("Expires: 0");
  11. header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
  12. header("Cache-Control: private",false);
  13. header("Content-Disposition: attachment; filename=\"".basename($filename)."\";" );
  14. header("Content-Transfer-Encoding: binary");
  15. header("Content-Length: ".filesize($dir.$filename));
  16. readfile("$dir$filename");
  17. }
  18. else{
  19. die("<pre> File not Found");
  20. }
  21. }
  22. else { die("<pre> Tidak dapat download file !!! "); }
  23.  
  24. exit();

Untuk download file dengan contoh diatas seperti berikut ​​http://localhost/belajar/download.php?id=1

limit download

Seperti yang terlihat , file tidak bisa di download karena belum login . misalkan dibuat file lain untuk membuat SESSION kalau user sudah login misal dengan membuat file index dan dibuat seperti berikut

  1. <?php
  2.  
  3. $_SESSION[’dahlogin’]=true;
  4. $_SESSION[’status’]=’activated’;
  5. echo "Sudah login";
  6.  

Setelah membuka file index.php ( membuat session login) .
Ketika membuka file download file lagi seperti sebelum nya , respon yg akan kita dapat kan seperti berikut :

limit download file

Yep , sekian , ini semua hanya sekedar contoh sederhana , silahkan dikembangkan untuk pembatasan download file yang lebih baik.
Save coding guys

Excepteur sint occaecat cupidatat non proident sunt culpa officia deserunt mollit anim id est laborum.Sed ut perspiciatis unde omnis.

  • Business Services
  • Audit & Assurance
  • IT Control Solutions
  • Business Services
  • Audit & Assurance
  • IT Control Solutions

My Focal Points

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex. Commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt.

client image

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod temporincididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrudexercitation.

John Doe
Chairman

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex.Commodo consequat.

Comments (6)

user-image
Johnathan
Few Hours Ago

Another comment

user-image
Mikymouse
Few Hours Ago

tes comment

Add your comment:

Your email address will not be published. Required fields are marked *