Forum Webscript.Ru

Программирование => PHP => Тема начата: Abram от 06 Июня 2003, 12:39:30

Название: Проверка типа файла
Отправлено: Abram от 06 Июня 2003, 12:39:30
Помогите написать скрипт который убивает все файлы типа, который я указываю. Как вобще проверить тип файла(exe, pas, bat, php)?Спасибо
Название: Проверка типа файла
Отправлено: Mаster от 06 Июня 2003, 12:48:01
$file = "file.exe";
$file_comp = explode(".",$file);
if (($file_comp[count($file_comp)-1] == "exe") || ($file_comp[count($file_comp)-1] == "pas") || ($file_comp[count($file_comp)-1] == "bat") || ($file_comp[count($file_comp)-1] == "php")) {
 if (file_exists($file)) {unlink ($file);}
}
?>
Название: Проверка типа файла
Отправлено: D1g174LM4n14c от 06 Июня 2003, 14:22:01
надо только по расширению файлы искать или именно по типу (по внутренностям, формату...)??
Название: Проверка типа файла
Отправлено: Меняздесьдавнонет от 06 Июня 2003, 14:31:11
кошмарный код
Название: Проверка типа файла
Отправлено: D1g174LM4n14c от 06 Июня 2003, 17:08:43
Цитировать
RomikChef:
кошмарный код
поддерживаю.
лучше было бы по таблице проверять, если уж на то пошло...
Название: Проверка типа файла
Отправлено: ThE0ReTiC от 06 Июня 2003, 17:48:13
мдя...
типа защита от буратин убийц из космоса.
кто ж по расширению проверяет...
надо тогда уж MIME проверять, ИМХО
Название: Проверка типа файла
Отправлено: D1g174LM4n14c от 06 Июня 2003, 21:39:33
ну если чел для себя только делает и злым юзверям не будет скрипт давать играться - тогды можно и так :) но все атки некрасиво получается (как код так и идея)
Название: Проверка типа файла
Отправлено: FreeSpace от 06 Июня 2003, 22:05:40
MIME - тоже не выход, потому что его (если не ошибаюсь) посылает браузер. А даже если не браузер, то я всё равно сомневаюсь, что сервер будет перекапывать внутренности файла, чтобы верно выставить его MIME - скорее всего просто на имя и расширение смотрит.
Вот один скрипт, хотя это не совсем то,что нужно, но поддерживаемые форматы определяет наверняка:
http://www.hotscripts.com/Detailed/10092.html
А вообще чтобы делать подобную проверку, нужно покопаться в RFC и спецификациях нужных форматов файлов и писать проверку содержимого под себя. Хотя подозреваю, что где-то что-то подобное уже написано...

Edited:
Пардон, вот линк прямо на домашнюю страницу:
http://getid3.sourceforge.net/
Не смотрите на id3 в названии - поддерживается далеко не только он.
Название: Проверка типа файла
Отправлено: Xander от 06 Июня 2003, 22:24:28
FreeSpace
если я ничего не путаю, то есть стандартная юниксовая функция - то ли touch, то ли file, которая определяет тип файла исходя из первых байтов и какой-то своей таблицы.
Название: Проверка типа файла
Отправлено: FreeSpace от 06 Июня 2003, 22:27:00
Xander
Прости, но на
Цитировать
ls
,
Цитировать
cd
и
Цитировать
cat /etc/passwd
мои познания никсов заканчиваются :)
Так что поспорить не могу...