php проверка на вирусы ClamAV

Появился вопрос, как проверять онлайн файл которые закачиваются на сервер с помощью 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

Справка по местам в Яндекс Директ


Полезная справка по местам в Яндекс.Директ.
Если есть вопросы, пишите в комментариях, постараюсь на них ответить.

window.open javascript Как вызвать функцию для родителя

Долго мучался с поиском ответа на этот вопрос и ответ был найден!
Для этого на странице windows.open , нужно указывать в таком формате:


? о чудо, мы можем выполнять функции на главной странице из дочерней window.open в javascript!

Apache 2.4.7 + mod_rpaf (mod_remoteip) + nginx

Всем известно для того чтобы разгрузить сервер от тяжелых запросов апача, сделует установить российский пакет nginx.

Я столкнулся с проблемой вывода реальных IP адресов apache 2.4.7 + nginx, ни один из модулей, которые успешно справлялись с этой проблемой, не работали на apache 2.4.7, либо отказывались компилироваться… Решение было найдено, теперь для отображения реальных IP шников нам потребуется 2 модуля, а именно mod_rpaf 2.0.c и mod_realip2.
Я выкладываю уже исправленный вариант mod_rpaf 2.0.c и mod_realip2 для apache 2.4.7, его необходимо скомпилировать и подключить в настройках httpd.conf
Скачать mod_rpaf + mod_realip2 for apache 2.4.7
После скачивания выполняем компиляцию:

apxs -cia mod_rpaf-2.0.c

Дальше самое интересное, для корректной работы нам потребуется 2 модуля. Этот модуль отвечает за правку IP в логах и сервер-статусе.

LoadModule rpaf_module        /usr/lib/apache/mod_rpaf-2.0.so
RPAFenable On
RPAFproxy_ips #тут через пробел IPшники сервера
RPAFheader X-Forwarded-For

#после вам надо установить модуль RemoteIP, возможно что он уже установлен, проверить можно командой

httpd -l | grep mod_remoteip.c

если нету, то компилируем модуль, после устанавливаем

apxs -cia mod_realip2.c

После включаем отображение реальных IP на сайте в переменной REMOTE_ADDR

LoadModule remoteip_module /usr/lib/apache/mod_remoteip.so
RemoteIPHeader X-Real-IP 

А вот так, должен выглядеть конфиг nginx.conf чтобы IPшники корректно передавались:

    proxy_set_header    Host    $host;
    proxy_set_header    X-Real-IP       $remote_addr;
    proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;

Принцип работы прост, один модуль заменяет IP в логах и сервер статусе, второй модуль заменяет Ip в переменной $_SERVER['REMOTE_ADDR']
Жмём на кнопку мне нравится и радуемся новому программному обеспечению.
© bartik.

загрузка файлов в ckeditor

Потребовалось использовать файлы с жесткого диска в , такого функционала у него нету, точнее он есть, в более развернутой форме и платный, называется ckfinder поэтому пришлось искать готовые решение, или писать с нуля.
К счастью нашёл отличное готовое решение, немного доработав его под свои нужды был полностью удовлетворен.
загрузить модуль загрузка файлов ckeditor

Вот как пользоваться данным модулем:

Создайте папку `/plugins/uploader`и распакуйте туда содержимое архива

Добавьте в файл`/config.js`

	.editorConfig = function( config ){
		config.extraPlugins = 'uploader'; // add plugin
		config.uploadFolder = 'http://xdan/images/'; // report plugin which will fill
	};
	

В файле вы сможете редактировать массив допустимых расширений `/plugins/uploader/uploader.php`

	$config = array(
		'access_types' =>array('jpeg', 'jpg', 'png', 'bmp', 'gif',), // allowed extensions file
		'folder' => $_SERVER['DOCUMENT_ROOT'].'/images/',// full path
		'use_md5'=>true, // change the name on the md5 hash
		'replace'=>false, // replace the file with the same name, only works with use_md5
	);

PHP компилер Bambalam

Нашёл интересный PHP компилер, http://www.bambalam.se/bamcompile/ выкладываю ссылку для вас, как разберусь - отпишусь

iconv удаляет, обрезает текст вместо перевода

Столкнулся с такой проблемой, что функция iconv которая отлично справлялась раньше с задачей кодировки из utf8 в windows-1251 начала делать это не правильно, а именно кодирует текст не полностью и не весь, или вообще обнуляет его. Погуглив разобрался что причина тому не спец. символы, на которых функция и отключается… Сами понимаете искать все эти символы очень трудно, можно найти таблицы utf8 , написать свою функцию, но на всё это нужно время… Задача решается очень просто. нужно указывать доп. параметр: //IGNORE или //TRANSLIT

т.е у меня функция выглядит так:

function decode($var){
return iconv("utf-8","windows-1251//IGNORE", $var);
}

Думаю вам пригодится.

Конец Sape или выходки Яндекса

Не так давно Яндекс, а именно Садовский заявил, что ссылки уходят из факторов ранжирования Яндекс. По словам Садовского, у Яндекса достаточно других качественных факторов, чтобы выдавать позиции сайтам. На самом деле не совсем ясно будет ли Яндекс отменять ссылки, или сделает это, но с определенным секретом, т.е не отменит их полностью, но учитывать будет уже не так как обычно. Я считаю что скорее всего Яндекс не сможет полностью отказаться от ссылок полностью. После нового года будет видно, а пока что мы замечаем что многие вебмастеры начинают отказываться от ссылок и бюджеты в Sape начинают падать, что ж дождёмся нового года и посмотрим что из этого выйдет.
Некоторые факторы ранжирования:

Система распознавания дорожных знаков Android, IOS

В последнее время все больше и больше бизнес автомобилей стали появляться с этой функцией. Мне стало очень интересно, как работает эта система и как её можно реализовать скажем на Анройде или на IOS. Такое приложение было бы многим полезно и предупреждало бы о знаках в режиме реально времени.

Технически мобильного смартфона для этой задачи достаточно. Телефон должен иметь обязательно GPS.

Суть устройства такова, телефон в режиме реального времени делает фотки каждую секунду и по определенным фильтрам (регулярных выражений) пытается найти сходность. Далее если это знак ограничивающий скорость, то по GPS определяется скорость и если это нужно то выводит звуковое предупреждение, или выводит знак на дисплей.

Я лично очень заинтересовался написанием данного приложения, чем сейчас активно занимаюсь.

Полезные ссылки:

http://habrahabr.ru/post/61048/

http://www.youtube.com/watch?v=ywyOWLXR01c
http://www.youtube.com/watch?v=dGgSvs6g908 - пример распознавания квадратов шахматной доски.

Как перебрать двумерный массив с помощью foreach