Автор Тема: Проверка типа файла  (Прочитано 4055 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Abram

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 116
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Проверка типа файла
« : 06 Июня 2003, 12:39:30 »
Помогите написать скрипт который убивает все файлы типа, который я указываю. Как вобще проверить тип файла(exe, pas, bat, php)?Спасибо

Оффлайн Mаster

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 71
  • +0/-0
  • 0
    • Просмотр профиля
    • http://code.msk.ru/
Проверка типа файла
« Ответ #1 : 06 Июня 2003, 12:48:01 »
<?php
$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

  • 1m
  • Постоялец
  • ***
  • Сообщений: 137
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Проверка типа файла
« Ответ #2 : 06 Июня 2003, 14:22:01 »
надо только по расширению файлы искать или именно по типу (по внутренностям, формату...)??
Мы такие!

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Проверка типа файла
« Ответ #3 : 06 Июня 2003, 14:31:11 »
кошмарный код

Оффлайн D1g174LM4n14c

  • 1m
  • Постоялец
  • ***
  • Сообщений: 137
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Проверка типа файла
« Ответ #4 : 06 Июня 2003, 17:08:43 »
Цитировать
RomikChef:
кошмарный код
поддерживаю.
лучше было бы по таблице проверять, если уж на то пошло...
Мы такие!

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
Проверка типа файла
« Ответ #5 : 06 Июня 2003, 17:48:13 »
мдя...
типа защита от буратин убийц из космоса.
кто ж по расширению проверяет...
надо тогда уж MIME проверять, ИМХО
AS IS...

Оффлайн D1g174LM4n14c

  • 1m
  • Постоялец
  • ***
  • Сообщений: 137
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Проверка типа файла
« Ответ #6 : 06 Июня 2003, 21:39:33 »
ну если чел для себя только делает и злым юзверям не будет скрипт давать играться - тогды можно и так :) но все атки некрасиво получается (как код так и идея)
Мы такие!

Оффлайн FreeSpace

  • Штатный лодырь
  • Ветеран
  • *****
  • Сообщений: 613
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.infinity.com.ua
Проверка типа файла
« Ответ #7 : 06 Июня 2003, 22:05:40 »
MIME - тоже не выход, потому что его (если не ошибаюсь) посылает браузер. А даже если не браузер, то я всё равно сомневаюсь, что сервер будет перекапывать внутренности файла, чтобы верно выставить его MIME - скорее всего просто на имя и расширение смотрит.
Вот один скрипт, хотя это не совсем то,что нужно, но поддерживаемые форматы определяет наверняка:
http://www.hotscripts.com/Detailed/10092.html
А вообще чтобы делать подобную проверку, нужно покопаться в RFC и спецификациях нужных форматов файлов и писать проверку содержимого под себя. Хотя подозреваю, что где-то что-то подобное уже написано...

Edited:
Пардон, вот линк прямо на домашнюю страницу:
http://getid3.sourceforge.net/
Не смотрите на id3 в названии - поддерживается далеко не только он.
Программирование - это единственное искусство, которое способно воплотить столь уникальное сочетание эстетики и функциональности.

Оффлайн Xander

  • санитар леса
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1780
  • +0/-0
  • 2
    • Просмотр профиля
Проверка типа файла
« Ответ #8 : 06 Июня 2003, 22:24:28 »
FreeSpace
если я ничего не путаю, то есть стандартная юниксовая функция - то ли touch, то ли file, которая определяет тип файла исходя из первых байтов и какой-то своей таблицы.
•••Jah\'d never let us down!•••

Оффлайн FreeSpace

  • Штатный лодырь
  • Ветеран
  • *****
  • Сообщений: 613
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.infinity.com.ua
Проверка типа файла
« Ответ #9 : 06 Июня 2003, 22:27:00 »
Xander
Прости, но на
Цитировать
ls
,
Цитировать
cd
и
Цитировать
cat /etc/passwd
мои познания никсов заканчиваются :)
Так что поспорить не могу...
Программирование - это единственное искусство, которое способно воплотить столь уникальное сочетание эстетики и функциональности.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28