Вход Регистрация
Скрытие адреса при защищенном скачивании файла по URL (оценка: 0)
создаем файл getfile.php:

  1. if($_SESSION['authorization']!="authorization_executed") { @header('Location: http://сайт.ру'); exit; }
  2.  
  3. switch($_GET['file']){
  4. case 1: $filename="http://сайт.ру/file1.zip";break;
  5. case 2: $filename="http://сайт.ру/file2.zip";break;
  6. case 3: $filename="http://сайт.ру/file3.zip";break;
  7. default : $filename="File not found";
  8. }
  9.  
  10. function file_force_download($file) {
  11. $head_size = @get_headers($file);
  12.  
  13. if(strpos($head_size[0], '200')) {
  14. if (ob_get_level()) {
  15. }
  16. $size = str_replace("Content-Length: ", "", $head_size[6]);
  17. header('Content-Description: File Transfer');
  18. header('Content-Type: application/octet-stream');
  19. header('Content-Disposition: attachment; filename='.basename($file));
  20. header('Content-Transfer-Encoding: binary');
  21. header('Expires: 0');
  22. header('Cache-Control: must-revalidate');
  23. header('Pragma: public');
  24. header('Content-Length: ' . $size);
  25. flush();
  26. readfile($file);
  27. } else {
  28. }
  29. }
  30.  
  31. file_force_download($filename);



в файле index.php (например) стартуем сессию, которую в дальнейшем будем проверять в начале getfile.php:

  1. $_SESSION['authorization']="authorization_executed";


и ссылки на скачивание делаем такого вида: /getfile.php?file=2 + так же модно переделать под свои нужды и вместо списка файлов указывать только их имена, а сами файлы положить где-то на сервере (предварительно в скрипте добавив информацию о пути от корня)
Автор: * -=(C)DRU987=- (Dev) / 08.03.2016 в 13:02
Просмотров: 1028
ТОП блогов | поиск | все блоги
Онлайн: 2
Реклама