Появился вопрос, как проверять онлайн файл которые закачиваются на сервер с помощью php.
Есть отличное решение, антивирус ClamAV.
ClamAV - это антивирус с открытым кодом, который предоставляется бесплатно, является open source продуктом. Что же понадобится чтобы обучить php на лету проверять на вирусы?
Все просто, нужно установить дополнительные библиотеки:
# yum install php-devel # wget http://pkgs.repoforge.org/clamav/clamav-0.97.7-1.el5.rf.i386.rpm # wget http://pkgs.repoforge.org/clamav/clamav-db-0.97.7-1.el5.rf.i386.rpm # wget http://pkgs.repoforge.org/clamav/clamd-0.97.7-1.el5.rf.i386.rpm # wget http://pkgs.repoforge.org/clamav/clamav-devel-0.97.7-1.el5.rf.i386.rpm # rpm -Uvh clam* # freshclam # service clamd start
Настройка php-clamav
Скачайте php-clamav с источника sf.net
# wget http://downloads.sourceforge.net/project/php-clamav/0.15/php-clamav_0.15.7.tar.gz # tar xvzf php-clamav_0.15.7.tar.gz # cd php-clamav-0.15.7/ # phpize #./configure –with-clamav # make # cp modules/clamav.so /usr/lib/php/modules/
Не забудьте добавить след. модуль в файл php.ini
extension=clamav.so
для проверки, загрузился ли модуль, введите след. команду
# php -i | grep -i clam clamav
Создайте ссылку
# ln -s /var/clamav /var/lib/clamav
Для проверки можете скачать вирус и попробывать закачать его с помощью php
http://www.eicar.org/86-0-Intended-use.html and save it on a file (eg: /tmp/virus.txt)
Создайте php скрипт с именем check_virus.php
$ php check_virus.php
Virus found name : Eicar-Test-Signature