2009-03-10

Борьба со спамом

Чтобы упростить жизнь антиспам-фильтрам и увеличить вероятность что ваша почта ими не зарубится можно воспользоваться SPF (Sender Policy Framework) http://www.openspf.org/, правда решение годится только если у вас собственный домен и полный доступ к настройкам DNS сервера вашей зоны.

Если коротко то основная идея следующая - владелец домена, ну скажем maxistar.ru добавляет в зону следующую запись

maxistar.ru. IN TXT "v=spf1 a mx ~all"

данная запись означает что письма имеющие адреса типа xxx@maxistar.ru могут быть отправлены только с сервера IP которого соответствует серверу maxistar.ru или с сервера на который указывают MX записи этого сервера.

когда на какой-либо SMTP сервер поддерживающий механизм SPF приходит сообщение, то сервер проверят у сервера адрес которого указан в адресе письма наличие TXT записи, которая начинается с v=spf1, затем сравнивается эта запись с IP адресом откуда выполняется запрос, если IP удовлетворяет правилу прописанному в SPF записи - письмо проходит, если нет - письмо отклоняется.

Так, если я попытаюсь отправить письмо с какого-нибудь другого SMTP сервера, например через SMTP своего Интернет-провайдера, то мое письмо скорее всего будет отклонено, т.к. оно будет послано с неразрешенного хоста.

Замечательная особенность этого механизма в том, что письмо может быть отклонено ДО его пересылки на сервер, что разгружает каналы и экономит машинное время.

 

Коментариев: 1

 
  2009-03-05

Афоризм дня

 
"The good news about computers is that they do what you tell them to do. The bad news is that they do what you tell them to do."
Ted Nelson

"Компьютеры хороши тем что они делают то что вы просите их делать, однако их большой недостаток в том что они делают в точности то о чем вы их попросили"

Тед Нельсон

Трудно свормулировать по русски так чтобы хорошо звучало, но подмечено очень точно...

 

Оставить комментарий

 
  2009-03-05

Демон на Питоне

Встала задача: есть некий сервер написанный на Питоне который слушает некий порт, выполняет запросы, в общем работает - теперь нужно запустить этот сервер как демон. В шеле такая задача решается просто добавлением амперсенда после вызова команды запуска:

server.py > logfile &

Однако хочется чтобы наш сервер запускался автоматически после того как сервер был рестартован, для этого нужно создать скрипт запуска в директории /etc/init.d

Почему то поиск в Интернете дал на удивление мало готовых рецептов, поэтому решил написать свой вариант такого скрипта - благо у меня уже была заготовка от одного старого проекта на java. В случае Питоном скрипт оказался даже проще.

 

Коментариев: 2

 
  2009-03-04

как поставить заголовок Return-Path к письму посылаемому командой mail

я уже писал в блоге что можно поправить php.ini добавив

mail.force_extra_parameters = "-f your@emailaddres.ru"

но более удобно использовать пятый аргумент функции mail:

$email    = "mail@yourdomain.ru";
$return_path = "mail@yourdomain.ru";
$from_path = "admin@yourdomain.ru";
$subject  = "text message";
$content  = "content of email"; 
$headers  = "Content-Type: text/plain;\n";
$headers .= "Content-Transfer-Encoding: 7bit;\n";
$headers .= "Return-Path: <".$return_path.">\n";
$headers .= "From: <".$from_path.">\n";
$extra = '-f '.$return_path;
mail($email, $subject, $content, $headers, $extra);
 

Оставить комментарий

 
  2009-03-02

Как сделать скриншот из flv файла

1. Ставим на сервер ffmpeg
    > svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ./ffmpeg
    > cd ./ffmpeg
    > ./configure
    > make
    > make install

2. Для создания GD картинки можно использовать, например вот такую функцию:

function Video2GD($filename){
  $descriptors = array(
    0 => array("pipe","r"),
    1 => array("pipe","w"),
    2 => array("pipe","w")
  );
  $cmd = 'ffmpeg -i '.$filename.' -vframes 1 -f image2 /dev/stdout';
  $cwd = '/tmp';
  $env = array();
  $process = proc_open($cmd, $descriptors, $pipes );

  if (is_resource($process)) {
    fclose($pipes[0]);
    $data = stream_get_contents($pipes[1]);
    fclose($pipes[1]);
    $error = stream_get_contents($pipes[2]);
    fclose($pipes[2]);
    return imagecreatefromstring($data);
  }
  return false;
}

пример использования функции Video2Gd:

    $im = Video2GD('/yourvideofile.flv');
    header('Content-Type: image/png');
    imagepng($im);
 

Коментариев: 2

 
  2009-02-27

Третья сигнальная

Если естественный язык свойственный представителям homo sapiens называют второй сигнальной системой, то можно ли рассматривать языки программирования как третью сигнальную?

 

Коментариев: 1

 
  2009-02-27

Перегрузка операторов в Python

Оказывается перегрузка операторов есть не только в C++, но и в Питоне тоже...

A class can implement certain operations that are invoked by special syntax (such as arithmetic operations or subscripting and slicing) by defining methods with special names.This is Python's approach to operator overloading, allowing classes to define their own behavior with respect to language operators.

 

 

Оставить комментарий

 
  2009-02-26

Как разрезать а потом склеить

Встала задачка перебросить небольшой объем данных - гигов восесь с одного сервера на другой... Однако, через вебсервер какой объем не передать, пришлось выкручиваться:

сначала пакуем tar

tar -xzf arhive.tgz ./folder_to_copy/

затем разрезаем

split -b1000000000 arhive.tgz part

затем перекачиваем эти гигабайтные куски на другой сервер, где и собираем:

cat part* > arhive.tgz

просто и красиво :)

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

 

Коментариев: 2

 
  2009-02-24

HOUSE md

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

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

Во вторых сюжеты захватывают так, что не оторвешся.

Во втретих игра актеров в наших сериалах на порядок хуже - все эти Папины почки, Моя прекрасная Маня, и Кремлевские Куранты - это просто утренник в детском саду какойто...

 

Оставить комментарий

 
  2009-02-16

Метатег для автообновления страницы

<meta http-equiv="Refresh" content="30">
 

Оставить комментарий