HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 02.05.2009, 02:04
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


По умолчанию

ну попробуй добавить это:

Accept-Encoding: deflate

и

User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2)

Последний раз редактировалось Pashkela; 02.05.2009 в 02:06..
 
Ответить с цитированием

  #2  
Старый 02.05.2009, 02:11
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме:
6462214

Репутация: 3171


По умолчанию

Непомогло.
На данный момент,код выглядит так:
PHP код:
header('Content-Type: application/mp3');
    
header('Accept-Ranges: bytes');
    
header('Content-Length: 213133');
    
header('Accept-Encoding: deflate');
    
header('User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2)');
    
header('Content - Disposition : attachment;
    filename = "' 
$myClassVk->GetRus($info['name']) .
        
'.mp3"');
    
readfile($file); 
Спеццально указал произвольное значение,у Content-Length, чтобы проверить,но нет.
Все по старому,курл получает хорошие заголовки,юраузеры - нет.
 
Ответить с цитированием

  #3  
Старый 02.05.2009, 02:22
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


По умолчанию

header('Content-Length: 213133');

обычно в самом конце. Еще возможно надо указать язык, чарсет и т.д.
 
Ответить с цитированием

  #4  
Старый 02.05.2009, 02:24
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме:
6462214

Репутация: 3171


По умолчанию

Цитата:
Сообщение от Pashkela  
header('Content-Length: 213133');

обычно в самом конце. Еще возможно надо указать язык, чарсет и т.д.
Ой,кактолько непробывал,уже премешивал их как только мог,ив конец,и в начало,в общем извращался я уже
Хм,кинь пожалуйста примыр,заголовков которые ты привел,и вообще,по какоому бы порядку их расставил ты? Может я еще так не пробывал,а то уже умаялся,чсно слово
 
Ответить с цитированием

  #5  
Старый 02.05.2009, 02:33
.:EnoT:.
Постоянный
Регистрация: 29.05.2007
Сообщений: 850
Провел на форуме:
4832771

Репутация: 1916


По умолчанию

Смешные вы) Научитесь юзать курл...и спрашивается нахер он тут нужен? Курлом получать данные, а потом ф-цией readfile() их считывать, бред

Всё это легче реализовать через fopen(), тем более при закачке с удалённых хостов. readfile тут может отказаться очень неблагонадёжной функцией. Тем более если решишь сделать скачку по кускам, докачку и т.д....
Во-вторых, заголовки не точные. Mime-тип audio/mpeg, Transfer-Encoding нужно ставить binary

Ну и дальше через цикл всё закачивается.

PHP код:

<?php

$link 
'http://bla-bla.ru/1.mp3';
if (
$openFile = @fopen($link'rb')) {
    
$fileInfo stream_get_meta_data($openFile);
    
preg_match('#Content-Length:\s([0-9\S]*)#i'join(' '$fileInfo['wrapper_data']), $outSize);
    
$size = !empty($outSize[1]) ? $outSize[1] : '';
    
preg_match('#Last-Modified:\s(.*)\sGMT#i'join(' '$fileInfo['wrapper_data']), $outMod);
    
$lastMod = !empty($outMod[1]) ? $outMod[1] : '';
    
    
header('HTTP/1.1 200 OK');
    
header('Content-Length: '.$size);
    
header('Content-Type: audio/mpeg');
    
header('Last-Modified: '.$lastMod);
    
header('Content-Disposition: attachment; filename="имя_файла.мп3";');
    
header('Cache-Control: private');
    
header('Content-Transfer-Encoding: binary');
    
header('Accept-Ranges: bytes');      
    
    while (!
feof($openFile) && !connection_status()) {
        echo 
fread($openFile1024);
        
flush();
        
ob_flush();
    }

}

?>
З.Ы. какой ещё порядок заголовков? Вы чего?
 
Ответить с цитированием

  #6  
Старый 02.05.2009, 02:37
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме:
6462214

Репутация: 3171


По умолчанию

Цитата:
Сообщение от .:EnoT:.  
Смешные вы) Научитесь юзать курл...и спрашивается нахер он тут нужен? Курлом получать данные, а потом ф-цией readfile() их считывать, бред

Всё это легче реализовать через fopen(), тем более при закачке с удалённых хостов. readfile тут может отказаться очень неблагонадёжной функцией. Тем более если решишь сделать скачку по кускам, докачку и т.д....
Во-вторых, заголовки не точные. Mime-тип audio/mpeg, Transfer-Encoding нужно ставить binary

Ну и дальше через цикл всё закачивается.

PHP код:

<?php

$link 
'http://bla-bla.ru/1.mp3';
if (
$openFile = @fopen($link'rb')) {
    
$fileInfo stream_get_meta_data($openFile);
    
preg_match('#Content-Length:\s([0-9\S]*)#i'join(' '$fileInfo['wrapper_data']), $outSize);
    
$size = !empty($outSize[1]) ? $outSize[1] : '';
    
preg_match('#Last-Modified:\s(.*)\sGMT#i'join(' '$fileInfo['wrapper_data']), $outMod);
    
$lastMod = !empty($outMod[1]) ? $outMod[1] : '';
    
    
header('HTTP/1.1 200 OK');
    
header('Content-Length: '.$size);
    
header('Content-Type: audio/mpeg');
    
header('Last-Modified: '.$lastMod);
    
header('Content-Disposition: attachment; filename="имя_файла.мп3";');
    
header('Cache-Control: private');
    
header('Content-Transfer-Encoding: binary');
    
header('Accept-Ranges: bytes');      
    
    while (!
feof($openFile) && !connection_status()) {
        echo 
fread($openFile1024);
        
flush();
        
ob_flush();
    }

}

?>
З.Ы. какой ещё порядок заголовков? Вы чего?
Ты вообще непонял проблему,перечитай.
 
Ответить с цитированием

  #7  
Старый 02.05.2009, 02:50
.:EnoT:.
Постоянный
Регистрация: 29.05.2007
Сообщений: 850
Провел на форуме:
4832771

Репутация: 1916


По умолчанию

Я как раз-таки понял твою проблему, показал как получить длину файла и как по-нормальному отдать его браузеру
 
Ответить с цитированием

  #8  
Старый 02.05.2009, 02:51
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме:
6462214

Репутация: 3171


По умолчанию

Объясняю.
Курлом,я проверял заголовки,файл я получаю про помощи Readfile(); тоесть курл,к моей проблеме не имеет никакого отношения,я просто какгде протестировал отдачу заголовков скриптом.
 
Ответить с цитированием

  #9  
Старый 02.05.2009, 02:56
.:EnoT:.
Постоянный
Регистрация: 29.05.2007
Сообщений: 850
Провел на форуме:
4832771

Репутация: 1916


По умолчанию

тяжёлый случай...
Тебе заголовки нужны были, вот тебе заголовки, смотри.

А про readfile() это просто пример того, что при закачке с удалённых хостов не нужно её использовать. Это просто как совет...но тебе на пользу кажись не пойдёт...
 
Ответить с цитированием

  #10  
Старый 02.05.2009, 03:02
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме:
6462214

Репутация: 3171


По умолчанию

Цитата:
Сообщение от .:EnoT:.  
тяжёлый случай...
Тебе заголовки нужны были, вот тебе заголовки, смотри.

А про readfile() это просто пример того, что при закачке с удалённых хостов не нужно её использовать. Это просто как совет...но тебе на пользу кажись не пойдёт...
Гыгы
Да пойдет,куда денеться то,просто я думал что readfile ыбстрее сокетов и курла...
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 5421 21.04.2026 07:37
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.