Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Skif

Страницы: [1] 2 3 ... 13
1
Perl / Кусок кода скрывается за JS
« : 01 Июля 2011, 16:38:00 »
Собственно сабж. Имеется страничка, на которой интересующая форма скрыта JS. Если выкачать(LWP) или посмотреть исходный текст в браузере, то там присутствует нечто:

<P><strong><script src="http://my.domaine.com/form.php" type="text/javascript"></script> <script type="text/javascript">

на месте, где должен быть HTML-код формы.
Вопрос, как получить в perl такой HTML-код, который генерирует JavaScript в браузере?

2
Perl / Помогите плиз с процессами
« : 21 Мая 2010, 02:38:12 »
Насколько я понял вам нужен демон - посмотрите в сторону fork. Либо используйте переменную $$

#!/usr/bin/perl
print $$; 


Сохраните в файл, а потом просто читайте.

3
JavaScript & JScript / JavaScript + SELECT + selectedIndex
« : 14 Мая 2010, 13:17:15 »
Вопрос закрыт. Пришлось всё же по полному пути топать для получения каждого значения к примеру document.getElementById(\'extr\').value просто объявить  переменную и потом достучаться к тому же value или selected index - облом

4
JavaScript & JScript / JavaScript + SELECT + selectedIndex
« : 13 Мая 2010, 13:12:18 »
Пишу сейчас простенький калькулятор. Задача следующая есть несколько текстовых инпутов, есть несколько select-ов из оных считать информацию провести необходимые арифметические операции и выдать результат. Собствено HTML код:

<form id="form2" action="#">
<
div>srv: <input type="text" id="srv" value="0" /></div>
<
div>pc: <input type="text" id="pc" value="0" /></div>
<
div>
plan
<
select name="plan" id="plan">
	
<
option selected value="0">0</option>
	
<
option value="1">1</option>
	
<
option value="2">2</option>
	
<
option value="3">3</option>
	
<
option value="4">4</option>
</
select>
</
div>
<
div>tek
<
select name="tek">
	
<
option selected value="0">0</option>
	
<
option value="1">1</option>
	
<
option value="2">2</option>
	
<
option value="3">3</option>
	
<
option value="4">4</option>
</
select>
</
div>
<
div>extr
<
select name="extr">
	
<
option selected value="0">0</option>
	
<
option value="1">1</option>
	
<
option value="2">2</option>
	
<
option value="3">3</option>
	
<
option value="4">4</option>
</
select>
</
div>

<
input type="button" value="Сумма" onclick="myfunc2()" />

<
div>Общая сумма: <input type="text" id="summary" value="0"  /></div>в


Всё это должен считать js-скрипт, но к сожалению затык происходит на этапе получения selectedIndex у Select. Вот урезанный код, без арифметики:
var server = new Array(350,270,200);
var 
pc = new Array(1201008050);
var 
vzv = new Array (200,180,200);



function 
myfunc2() {
var 
srv document.getElementById(\'srv\');
var pcs = document.getElementById(\'pc\');
var plan = document.getElementsByName(\'plan\');
var tek = document.getElementsByName(\'tek\');
var extr = document.getElementsByName(\'extr\');
var summary = document.getElementById(\'summary\');
var sumsrv = 0;
var sumpc = 0;
var sumplan =0;
var sumtek =0;
var sumextr =0;
var summ = 0;


alert(plan.selectedIndex);
}


Мне постоянно выдается на selectedIndex undefined значение. что делать? Может я неправильно пользую функцию? Как правильно?

5
Вопрос снят - туплю. Проспался и все стало на свои места

6
Да, про UUE и Base64 знаю. Вот только у меня раз в 15 минут формируется файл размером в пол метра. после упаковки он сжимается до 40 кил, если обработать UUE или B64 то размер файла растет до 80 и 59 кил соответственно. В общем надоть снизить паразитный траффик :)

7
А поделиться как бинарник послать, можете? Суть в чем. перевести дискриптор в binmode то я могу, а вот дальше как быть? как вернуть в текстовый формат, или на двоичку/хексы переходить? Иначе никак?

8
То, что доктор прописал. Огромное спасибо!

9
Спасибо за ссылку, сейчас пробую :)

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

#!/usr/bin/perl -w
use IO::Socket;
#use strict;
use POSIX;
require \
'sys/syscall.ph\';
my $sock = IO::Socket::INET->new(LocalAddr => \'127.0.0.1\',
                                LocalPort => \'2727\',
                                Listen => 15,
                                Type => SOCK_STREAM,
                                Proto    => \'tcp\');


fork() && exit;

close STDOUT; close STDERR; close STDIN;
chdir \'/tmp\';
syscall(&SYS_setsid);
$SIG{\'INT\'} = $SIG{\'QUIT\'} = $SIG{\'TERM\'} = \'quit\';
$SIG{\'HUP\'} = \'ignore\';

$SIG{CHLD} =\\&REAPER;

while (1){
        while(my $client = $sock->accept()){
                                print $sock "My Net Daemon! Hello!\\n";
                                my $ddd = <$sock>;
                                print $sock $ddd;
                                #`echo $ddd>>/tmp/sk.s `;



        }
}
#sleep 20;
#exit(0);
close($sock);


########### SUBs

sub REAPER {
1 until (-1 == waitpid(-1,WNOHANG));
$SIG{CHLD} =\\&REAPER;
}



Скрипт в демона превращается без проблем. На данном этапе fork для каждого нового подключения мне не нужен, потому его убрал. Суть не в этом.
Согласно кода, у меня в случае подключения к порту 2727 должно в окно терминала выкинуть "My Net Daemon! Hello!\\n". проверяю обычным telnet-ом:

[root@fbsd2.home] /usr/local/script/Dpm/tmp :./s_s_server.pl
[root@fbsd2.home] /usr/local/script/Dpm/tmp :telnet localhost 2727
Trying 127.0.0.1
...
Connected to localhost.
Escape character is \'^]\'.
Killed
[root@fbsd2.home] /usr/local/script/Dpm/tmp :


Может кто подсказать, как правильно слать данные и принимать? У меня через дискрипторы не получается, send/recv тоже не идут, правда я мог с флагами напутать. Пока роюсь в этом направлении

11
Perl / Немного ОТ. PlPerl
« : 21 Января 2007, 02:34:28 »
Решил. Вот более-менее красивый пример:


##########################################################################
CREATE TYPE sktype AS (f1 varcharf2 varchar);

CREATE or REPLACE FUNCTION mytime5() returns sktype
AS \'
my %date = ();
my @gm = localtime();
my $year = $gm[5] + 1900;
my $mounth = $gm[4] + 1;
my $mday = $gm[3];
my $hour = $gm[2];
my $min = $gm[1];
my $sec = $gm[0];
$mounth=sprintf("%02d",$mounth);
$mday=sprintf("%02d",$mday);
$hour=sprintf("%02d",$hour);
$min=sprintf("%02d",$min);
$sec=sprintf("%02d",$sec);
$date{\'\'year\'\'}=$year;
$date{\'\'mounth\'\'}=$mounth;
$date{\'\'day\'\'}=$mday;
$date{\'\'hour\'\'}=$hour;
$date{\'\'min\'\'}=$min;
$date{\'\'sec\'\'}=$sec;
return {f1=>"$mday\\-$mounth\\-$year", f2=>"$hour\\:$min\\:$sec"};
\'
LANGUAGE \'plperl\';
##########################################################################
#skif=> select * from mytime5();
#LOG:  duration: 0.796 ms  statement: select * from mytime5();
#     f1     |    f2
#------------+----------
# 21-01-2007 | 01:35:07
##########################################################################
#skif=> create table rrr (date varchar, time varchar);
#LOG:  duration: 83.407 ms  statement: create table rrr (date varchar, time varchar);
#CREATE TABLE
#skif=> select * from rrr;
#LOG:  duration: 0.607 ms  statement: select * from rrr;
#    date    |   time
#------------+----------
# 21-01-2007 | 01:46:53
#(1 row)
#
#skif=> insert into rrr select * from mytime5();
#LOG:  duration: 5.725 ms  statement: insert into rrr select * from mytime5();
#INSERT 0 1
#skif=> select * from rrr;
#LOG:  duration: 0.474 ms  statement: select * from rrr;
#    date    |   time
#------------+----------
# 21-01-2007 | 01:46:53
# 21-01-2007 | 01:47:14
#(2 rows)
#
#skif=> insert into rrr select * from mytime5();
#LOG:  duration: 5.735 ms  statement: insert into rrr select * from mytime5();
#INSERT 0 1
#skif=> select * from rrr;
#LOG:  duration: 0.473 ms  statement: select * from rrr;
#    date    |   time
#------------+----------
# 21-01-2007 | 01:46:53
# 21-01-2007 | 01:47:14
# 21-01-2007 | 01:47:19
#(3 rows)
#
#skif=> insert into rrr select * from mytime5() where f1=\'21-01-2007\';
#LOG:  duration: 8.186 ms  statement: insert into rrr select * from mytime5() where f1=\'21-01-2007\';
#INSERT 0 1
#skif=> select * from rrr;
#LOG:  duration: 0.572 ms  statement: select * from rrr;
#    date    |   time
#------------+----------
# 21-01-2007 | 01:46:53
# 21-01-2007 | 01:47:14
# 21-01-2007 | 01:47:19
# 21-01-2007 | 01:47:56
#(4 rows)
#
#skif=> insert into rrr select * from mytime5() where f2=\'01:47:56\';
#LOG:  duration: 1.603 ms  statement: insert into rrr select * from mytime5() where f2=\'01:47:56\';
#INSERT 0 0
#skif=> select * from rrr;
#LOG:  duration: 0.479 ms  statement: select * from rrr;
#    date    |   time
#------------+----------
# 21-01-2007 | 01:46:53
# 21-01-2007 | 01:47:14
# 21-01-2007 | 01:47:19
# 21-01-2007 | 01:47:56
#(4 rows)
#
#skif=>

12
Perl / Немного ОТ. PlPerl
« : 11 Января 2007, 23:34:04 »
нелегкая судьба кинула на камни, точне на PgSQL, надо написать ряд функций и прочая.
Язык plPerl.
Суть, есть таблица(пример)

skif
=> SELECT FROM employee;
  
name  basesalary bonus
--------+------------+-------
 
first  |          |     3
 first  
|          |     1
 second 
|          |     1
(3 rows)

skif=>


Нужно написать функцию что бы при вызове


select my_func
(9from  employee;

Мне бы отдало:

  name  
basesalary bonus
--------+------------+-------
 
first  |          |     3

или хотя бы

--------+------------+-------
 
first  |          |     3


Я конечно могу оформить вида(для примера, коряво, но так на вскидку сойдет):

CREATE 
OR REPLACE FUNCTION test_sk0(employeereturns varchar AS $$

	
my ($emp) = @_;
	
my $res;
	
if (
$emp->{basesalary} != 9) {
	
	
undef $res ;
	
}
	
else {
	
	
$res "$emp->{name} - $emp->{basesalary} - $emp->{bonus}";
	
}
	
return 
$res;
$$ 
LANGUAGE plperl;

и вывод:

skif
=> select test_sk0(employee.*) from employee;
   
test_sk0
---------------
 
first 3


(3 rows)

Но это не то. В общем после всех мытарств у меня получаются выводы либо одной строкой, либо:

skif
=> select test_sk0(employee.*) from employee;
     
test_sk0
------------------
 ARRAY(
0x84f677c)
(
1 row)


Я конечно могу оформить вызов функции в виде

skif
=> select name,test_sk0(employee.*),bonus from employee;
 
name  basesalary bonus
-------+------------+-------
 
first |          |     3
(1 row)

но тогда во многом смысл этой функции теряется.
Пните меня, что я непонимаю или понимаю неправильно.

13
Perl / аплоад + вирус
« : 06 Сентября 2006, 19:04:53 »
В скрипт которым загружаешь добавь создание временного файла в темповой директории его при помощи system/fork+exec/обратных кавычек делаешь проверку. По возвращаемым знаениям решаешь загружать дальше или вернуть пользователю сообщение, что  там вирь. вот пример shell-овского скрипта для clamscan:

................
# Проверка clamscan
/usr/local/bin/clamscan -v -r --no-summary --stdout ${INSPECT_DIR}/in.$$ > $INSPECT_DIR/vr.$$

# Результат проверки clamav
AV_RESULT=$?
case "$AV_RESULT" in
0)
  # Ok! шлем дальше
  #### Загружаем дальше
  ;;
1)
  # Вирус
  ##### Блокируем загрузку
  ;;
*)
  # Ошибки
  # у меня идет блокировка загрузки
;;
exec

14
Perl / удаление старых файлов
« : 06 Сентября 2006, 18:54:53 »
Biggelow
Элементарно
0       1       *       *       *       root    /usr/local/sbin/tmpwatch 24 /tmp
0       1       *       *       *       root    /usr/local/sbin/tmpwatch 24 /var/tmp

Удаляет в 1 минуту первого все фалы старше 24 часов. К ней идет детальный ман.

15
Perl / Session и массив данных
« : 06 Сентября 2006, 18:48:27 »
Отвечу сам:

Загоняем массив в сессию:
$session->param(-name=>\'array\',  -value=>[@res_sel_show]);

Получаем данные из сессии(наш массив):

my @tm_ar = @{$session->param(-name=>\'array\')};

Надо только не забывать, что сессия это тот же самый хеш...
Блин два дня парился искал инфу, и только потом самого озарило...
Млин....

Страницы: [1] 2 3 ... 13