Страница 1 из 2

немного о php и perl , размышления о md5 и капельку python

Добавлено: 2008-06-27 15:53:15
hizel
два часа мучился с postfixadmin , не получил нужного результата
за три вечера накатал на django+python свою админку к exim
правда стыбзил css и дизайн с postfixadmin-а

может кому тоже надо?
если надо , приведу в товарный вид, выложу

Re: (postfixadmin-php)+python

Добавлено: 2008-06-27 19:12:56
Alex Keda
ф топку все ваши руби, питоны, самбы-мамбы....
=)
=========
моё мнение может не совпадать с народным.

Re: (postfixadmin-php)+python

Добавлено: 2008-06-27 20:10:31
hizel
я в тебе не сомневался
ты твердо стоишь на пути, к полному опыхпыхиванию

:cf:

Re: (postfixadmin-php)+python

Добавлено: 2008-06-27 22:30:56
Alex Keda
нет. тогда уж к ошелливанию =)
последнее развлечение:

Код: Выделить всё

hosting$ more cgi-bin/test.sh
#!/bin/sh

echo "Content-type: text/plain"
echo


echo "User-agent: *"
echo "Disallow: /cgi-bin/";
echo "Host: $HTTP_HOST"

hosting$    
и реврайт:

Код: Выделить всё

# применять RewriteRule, только если запрашиваемое
# имя файла не совпадает с именем какого-нибудь
# реального файла на сервере
RewriteCond %{REQUEST_FILENAME} !-f
# и не совпадает с именем какой-нибудь реальной директории
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^robots.txt$        /cgi-bin/test.sh                [NC]
просто надо было создать роботс.тхт для двух тысяч хостов.
так впадлу стало.. =)))

Re: (postfixadmin-php)+python

Добавлено: 2008-06-27 22:39:01
hizel
на шеле не удобно веб-морды делать
инструмент под задачу ;)

Re: (postfixadmin-php)+python

Добавлено: 2008-06-27 22:40:31
Alex Keda
в данном случае - без вариантов.
php добавляет свой хидер, и поисковики ругаются на этот файл.
а шелл никаких заголовков не лепит =)))

Re: (postfixadmin-php)+python

Добавлено: 2008-06-28 5:27:18
zg
lissyara писал(а):php добавляет свой хидер, и поисковики ругаются на этот файл.
а шелл никаких заголовков не лепит =)))
с каких пор CGI-PHP стал чё-то своё добавлять? и даже больше, в отличие от шела, не добавляет переводы строки, что иногда критично для заголовков. Ну и мануал http://ru2.php.net/manual/ru/function.headers-list.php если mod_php

Re: (postfixadmin-php)+python

Добавлено: 2008-06-28 15:43:42
Alex Keda

Код: Выделить всё

hosting$ echo '<?php echo "test"; ?>' | php-cgi
X-Powered-By: PHP/5.2.6
Content-type: text/html

testhosting$   
кем паверед-то? роботс.тхт не может быть паверед бай пхп
логично что меня с такам поисковики посылают.
а шелловый - вштыривает...

Re: (postfixadmin-php)+python

Добавлено: 2008-06-28 18:09:26
ProFTP
hizel, если там запросы другие какие-то то покажи их, а морда у всех есть :)

Re: (postfixadmin-php)+python

Добавлено: 2008-06-28 23:29:02
hizel
что имеетсо ввиду под запросами?

Re: (postfixadmin-php)+python

Добавлено: 2008-06-29 8:48:44
ProFTP
sql и html тот же, только python...?

Re: (postfixadmin-php)+python

Добавлено: 2008-06-29 9:26:28
zg
lissyara писал(а):

Код: Выделить всё

hosting$ echo '<?php echo "test"; ?>' | php-cgi
X-Powered-By: PHP/5.2.6
Content-type: text/html

testhosting$   
кем паверед-то? роботс.тхт не может быть паверед бай пхп
логично что меня с такам поисковики посылают.
а шелловый - вштыривает...
))) php-cgi это немного другое )))

Код: Выделить всё

$ echo '<?php echo "test"; ?>' | php
test$
никаких заголовоков нет и впомине ;-) и даже так

Код: Выделить всё

$ echo '<?php echo "test"; ?>' | php-cgi -q
test$

Re: (postfixadmin-php)+python

Добавлено: 2008-06-29 13:56:08
Alex Keda
ну, помоему сложность исполения обработки отдельного файла на уровне конфига апача несоизмеримо сложней чем строка на перезапись и шелл-скрипт в пять строк...
а придётся имено там - остальные то файлы мне надо также обрабатывать как и раньше...

Re: (postfixadmin-php)+python

Добавлено: 2008-06-29 13:59:26
hizel
я не пишу sql запросы, в данном случае православнее использовать ORM встроенную в django
зато моя мордочка может работать сразу на пачке sql бэкэнжов
начиная от sqlite заканчивая Ораклом

вобщем это MVC

Код: Выделить всё

Объединённые вместе, эти компоненты приложения следуют шаблону Модель-Представление-Управление (Model-View-Controller, MVC). Примем, что MVC определяет способ разработки программного обеспечения при котором код для определения и доступа к данным (модель) отделён от логики приложения (управление), которая в свою очередь отделена от интерфейса пользователя (представление). 

Основное преимущество такого подхода заключается в свободе объединения этих компонентов. Следовательно, каждая отдельная часть приложения, созданного с помощью Django, имеет одно назначение и может быть изменена независимо, т.е., без влияния на остальные компоненты. Например, разработчик может изменить URL для данной части приложения без изменения остального кода. Дизайнер может изменить HTML страницы без внесения изменений в код, который отображает страницу. Администратор базы данных может переименовать таблицу и определить эти изменения в одном месте, вместо того, чтобы искать и вносить изменения во множество файлов.
Из Smalltalk-а пошло :)

Re: (postfixadmin-php)+python

Добавлено: 2008-06-29 14:03:01
zg
lissyara писал(а):а придётся имено там - остальные то файлы мне надо также обрабатывать как и раньше...
не понял?

Код: Выделить всё

game# ./1.cgi
Content-Type: text/plain

Прывет!
game# cat 1.cgi
#!/usr/local/bin/php-cgi -q
Content-Type: text/plain

<?php
echo "Прывет!\n";
?>
game#
тут вроде никогда траблов не было... зачем чего-то придумывать?

Re: (postfixadmin-php)+python

Добавлено: 2008-06-29 14:13:13
hizel
гады всю тему пыхом загадили :no:

Re: (postfixadmin-php)+python

Добавлено: 2008-06-29 14:47:07
Alex Keda
хм... а про такое я не подумал...
один фиг - на шеле работает - и будет работать дальше =)

Re: (postfixadmin-php)+python

Добавлено: 2008-06-29 14:49:51
ProFTP
hizel писал(а):гады всю тему пыхом загадили :no:
:-D

Re: (postfixadmin-php)+python

Добавлено: 2008-06-29 17:44:17
ProFTP
lissyara, это все равно что растрелять кого-то с узи © Lary Wall

Код: Выделить всё

#!/usr/bin/perl
$_='
         $q ="\                   47"; wh
        ile                           ($;=
      $z                +=              .5 ){
    %c=           $r=0;$/ ="";whi         le(2
   0+          $z>($;+=.05)){$c{int$       _+ 2
  6+         2*($              r+= .0       2) *
s          in$                ;}{1       -$_
+1         0+           int        $r*c       o s
$;}         =1for(0.       .1)        }$
t        =r         ever se;$        /.        =`
c        le        ar     `.         "         #!
/        usr       /bi             n/         pe
rl       \n\       $_ =$q        \n"    ;
fo        r$y        (1..20){$c{$_}          {
$ y       }? $         /.=chop$t            :
($/        . ="                          \4
0")         for(0.                    .53)    ;
   $/.        ="\n"}pri            nt"$/$          q;
   s; ".         chr(9 2)."s;;g;eval\n           "}
';s;\s;;g;eval

Код: Выделить всё

#!/usr/bin/perl -w                                      # camel code
use strict;

                                           $_='ev
                                       al("seek\040D
           ATA,0,                  0;");foreach(1..3)
       {<DATA>;}my               @camel1hump;my$camel;
  my$Camel  ;while(             <DATA>){$_=sprintf("%-6
9s",$_);my@dromedary           1=split(//);if(defined($
_=<DATA>)){@camel1hum        p=split(//);}while(@dromeda
 ry1){my$camel1hump=0      ;my$CAMEL=3;if(defined($_=shif
        t(@dromedary1    ))&&/\S/){$camel1hump+=1<<$CAMEL;}
       $CAMEL--;if(d   efined($_=shift(@dromedary1))&&/\S/){
      $camel1hump+=1  <<$CAMEL;}$CAMEL--;if(defined($_=shift(
     @camel1hump))&&/\S/){$camel1hump+=1<<$CAMEL;}$CAMEL--;if(
     defined($_=shift(@camel1hump))&&/\S/){$camel1hump+=1<<$CAME
     L;;}$camel.=(split(//,"\040..m`{/J\047\134}L^7FX"))[$camel1h
      ump];}$camel.="\n";}@camel1hump=split(/\n/,$camel);foreach(@
      camel1hump){chomp;$Camel=$_;y/LJF7\173\175`\047/\061\062\063\
      064\065\066\067\070/;y/12345678/JL7F\175\173\047`/;$_=reverse;
       print"$_\040$Camel\n";}foreach(@camel1hump){chomp;$Camel=$_;y
        /LJF7\173\175`\047/12345678/;y/12345678/JL7F\175\173\0 47`/;
         $_=reverse;print"\040$_$Camel\n";}';;s/\s*//g;;eval;   eval
           ("seek\040DATA,0,0;");undef$/;$_=<DATA>;s/\s*//g;(   );;s
             ;^.*_;;;map{eval"print\"$_\"";}/.{4}/g; __DATA__   \124
               \1   50\145\040\165\163\145\040\157\1 46\040\1  41\0
                    40\143\141  \155\145\1 54\040\1   51\155\  141
                    \147\145\0  40\151\156 \040\141    \163\16 3\
                     157\143\   151\141\16  4\151\1     57\156
                     \040\167  \151\164\1   50\040\      120\1
                     45\162\   154\040\15    1\163\      040\14
                     1\040\1   64\162\1      41\144       \145\
                     155\14    1\162\       153\04        0\157
                      \146\     040\11     7\047\         122\1
                      45\15      1\154\1  54\171          \040
                      \046\         012\101\16            3\16
                      3\15           7\143\15             1\14
                      1\16            4\145\163           \054
                     \040            \111\156\14         3\056
                    \040\         125\163\145\14         4\040\
                    167\1        51\164\1  50\0         40\160\
                  145\162                              \155\151
                \163\163                                \151\1
              57\156\056

Re: (postfixadmin-php)+python

Добавлено: 2008-06-29 18:01:19
zg
2 hizel, думаю тему надо подчистить, а то и правда загадили, но ничего нового не внесли

Re: (postfixadmin-php)+python

Добавлено: 2008-06-29 18:35:35
Alex Keda
ProFTP писал(а):lissyara, это все равно что растрелять кого-то с узи © Lary Wall
эт почему же?

Re: (postfixadmin-php)+python

Добавлено: 2008-08-06 13:01:24
ProFTP
хотел спросить, как пароль шифрвоать правильно, какие клиенты поддерживают какое шифрвоание - sha256, sha1 все поддерживают?

если использовать ssl аутентификацию, может достаточно в чистов виде или не шифровать сильно?
А елси наоборот...

кстате, sha бывают разных типов
digest; hexdigest; b64digest; transform;

аутлук экспрес не поддерживает md5crypt http://www.lslnet.com/linux/edosc/12/linux-12162240.htm только md5

Re: (postfixadmin-php)+python

Добавлено: 2008-08-06 14:56:27
ProFTP
cyrus-sasl2 умеет работаеть только с этими видами:

Код: Выделить всё

checking DIGEST-MD5... enabled
checking for crypt... no
checking for crypt in -lcrypt... yes
checking PLAIN... enabled
checking LOGIN... enabled
checking PASSDSS... disabled
не могу понять, а как cyrus -sasl2 читает пароли с DIGEST-MD5?
DIGEST-MD5 это md5crypt??? если на php зашифровано md5crypt, то переменная $salt случайная, то как cyrus разшифрует?

что-то не погу понять смысл этого шифрвоания

аналог этому на perl Crypt::PasswdMD5 скорее всего униксовсое шифрвоание
http://search.cpan.org/~luismunoz/Crypt ... sswdMD5.pm

Код: Выделить всё

function md5crypt ($pw, $salt="", $magic="")
{
bla-bla
   if ($salt == "") $salt = create_salt (); 
   $slist = explode ("$", $salt);
}

function create_salt ()
{
   srand ((double) microtime ()*1000000);
   $salt = substr (md5 (rand (0,9999999)), 0, 8);
   return $salt;
}
как зашифровать на perl чтобы cyrus прочитал?
hizel ты чем шифровал?

Re: (postfixadmin-php)+python

Добавлено: 2008-08-06 15:07:01
hizel
обычный md5
я не использую DIGEST-MD5 и подобное
мне хватает TLS\SSL соединения ;)

Re: (postfixadmin-php)+python

Добавлено: 2008-08-06 15:09:45
ProFTP
этим ?

Код: Выделить всё

 use Digest::MD5 qw(md5 md5_hex md5_base64);

 $digest = md5($data);
на php md5crypt это очень не похоже на Digest::MD5, любой MD5 чтоли подойдет?

md5 бывает штук 100