Как на лету модифицировать .exe файл, отдаваемый Apache
От: wildsam  
Дата: 20.08.08 11:54
Оценка:
Здравствуйте.

Надо в конец каждого отдаваемого экзешника на лету дописывать кое-что. Я пошел по такому пути — в .htaccess сделать
RemoveHandler .exe
AddType application/x-httpd-php .exe
AddHandler server-parsed .exe

а в пхп-скрипте *.exe отдавать файл, обработав его, как надо. Получилось вот что: со второй строкой (AddType application/x-httpd-php .exe), все работает, но браузер получившийся файл .exe отображает на экране, а не скачивает (как, собственно, и должно быть). Без этой строки пхп не обрабатывает скрипт в .exe, он отдается, как есть.

Помогите доделать это решение. Принимаются и другие способы решения задачи.Спасибо.
Re: Как на лету модифицировать .exe файл, отдаваемый Apache
От: wildsam  
Дата: 20.08.08 12:23
Оценка:
Дополнение. Попытался сделать с помощью mod_rewrite (целевой файл — file.exe, file.php его модифицирует и отдает):
RewriteEngine on 
RewriteRule ^file\.exe$ file.php [T=application/x-msdownload]

Опять решение сработывает наполовину — не подставляется mime-тип, и правильно модифицированный file.exe отображается на экране...
Re[2]: Как на лету модифицировать .exe файл, отдаваемый Apac
От: Панда Россия  
Дата: 20.08.08 12:43
Оценка:
Здравствуйте, wildsam, Вы писали:

W>Дополнение. Попытался сделать с помощью mod_rewrite (целевой файл — file.exe, file.php его модифицирует и отдает):

W>
W>RewriteEngine on 
W>RewriteRule ^file\.exe$ file.php [T=application/x-msdownload]
W>

W>Опять решение сработывает наполовину — не подставляется mime-тип, и правильно модифицированный file.exe отображается на экране...

В скрипте file.php перед выдачей файла выдавайте в заголовке mime-тип и указание скачивать, а не открывать. Примерно так:

header ('Content-Type: application/octet-stream');
header ("Content-Disposition: attachment; filename=\"file.exe\"");
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.