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

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


Темы - Kwazar

Страницы: 1 2 [3]
31
Perl / Куча не тупых вопросов.
« : 10 Марта 2003, 11:48:03 »
В процессе программинга на perl я столкнулся с множеством задач, часть которых я хоть и решил, но чисто по русски - через одно место....
Наверняка в ысталкивались с многими такими ситуациями, интересно как вы их решили.
1)В переменной $site находится html страницы. Естественно такие вещи как \\n там тоже присутствуют. Как перевести эту переменую в массив, разбив его по \\n.
2)Как вытянуть все ссылки из этого html кода, приведя их к полному пути, т.е. преобразовав такие вещи как ../ и ./
3)Как иизменить размер картинки на сервере. Именно не вывести ее в ином формате, а перезаписать. Как узнать текущий ее размер?

Вроде все...

32
Perl / Авторизация. Часть 2.
« : 06 Марта 2003, 21:04:30 »
Нужна небольшая помощь или совет.
Я уже выкладывал скриптик для авторизации пользователей с использованием кукей. Так вот, клиент говорит, что его выкидывает через раз, хотя у меня всегода нормально отрабатыват. Если вам не сложно посмотрите, у вас такие глюки обнаруженны будут или нет?
ссылка с его использованием:
http://www.plazma.ru/cgi-bin/gb/gb.cgi
Сам скрипт:
sub aut {
########получаем куки
@cookies = split (/\\; /,$ENV{HTTP_COOKIE});
foreach $cookies (@cookies)
{
   ($n, $value) = split(/=/, $cookies);
   $n =~ tr/+/ /;
   $n =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
   $value =~ tr/+/ /;
   $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
   $COOK{$n} = $value;
}

# Есть какие-то данные, сверяем их, если пользователь не авторизуется
if ($COOK{login} ne \'\' && $COOK{sess} ne \'\' && $act ne "login")
{
   $login="$COOK{login}";
   $sess="$COOK{sess}";
   &sess;

}

# Пользователь не авторизован вообще и не авторизуется в данный момент
if (($COOK{login} eq \'\' || $COOK{sess} eq \'\') && $act  ne "login")
{
   &form_login;
   exit;
}
# Пользователь авторизуется
if ($act eq "login")
{

   &login;
$act="";
}
}
sub login
{

   $sth = $dbh->prepare("select id,status from $users_table WHERE login = \'$login\' and pass = \'$pass\'");
   $sth->execute || die $dbh->errstr;
   @rez=$sth->fetchrow;
   ### Логин или пароль не верны!
   $stat="$rez[1]";
   if ($stat eq \'\')
   {
      print "Content-type:text/html\\n\\n";
      &form_login;
      exit;
   }
   # Пользователь авторизован
   if ($stat ne \'\')
   {
      &wr_cookes;
      $user_login="$login";

   }

}
### Генерируем и пишем данные пользователя в куки и заносим их в базу
sub wr_cookes
{
   $sess=rand(32);
   print "Set-Cookie: login=$login; expires=+2M; path=/;\\n";
   print "Set-Cookie: sess=$sess; expires=+2M; path=/;\\n";
   $sth = $dbh->prepare("update $users_table set sess=\'$sess\' where login=\'$login\'");
   $sth->execute || die $dbh->errstr;                                                    
   $sth->finish;
}
sub sess
{

   $sth = $dbh->prepare("select sess from $users_table WHERE login = \'$login\'");
   $sth->execute || die $dbh->errstr;
   $ss=$sth->fetchrow;
   $sth->finish;

   $sth = $dbh->prepare("select id,status,sess from $users_table WHERE login = \'$login\' and sess = \'$sess\'");
   $sth->execute || die $dbh->errstr;
   @rez=$sth->fetchrow;
   $sth->finish;

   $stat="$rez[1]";
   ### Логин или пароль не верны!
   if ($stat eq \'\')
   {
      &form_login;
      exit;
   }
   # Пользователь авторизован
   if ($stat ne \'\')
   {
      $user_login="$login";
   }

}
1;


Я сделал вывод сессии на странице, пока будет тестирование. буду благодарен. если вы наужете и укажите ошибки или дырки в данном скрипте или самом алгоритме. Спасибо

33
См, сабж...
Хотелось бы разумные цены и качественный хостинг, с анлимом относительно траффика и молчащими админами, если на сайт будут ходить около 50 000 посетителей в день (большие нагрузки на траффик хостера).

34
JavaScript & JScript / Плавное обновление чата.
« : 22 Февраля 2003, 14:30:28 »
Я не раз замечал во всевозможных чатах такую вещь:
Станица не обновляется, а как бы дополняется сообщениями в главном фрейме с сообщениями.
Скажите как сделать такое.
Нужно: страничка получала html сообщения со скрипта
/cgi-bin/script.cgi?login=name&sess=123456789
И сама не обновляясь добовляла ссобщение вниз (вверх) станицы.
При этом надо стелать так, что бы все ссощения не привышали числа N.
Как этого добится, не прибегая к флешу?

35
Perl / Страница сгенерирована за ...
« : 21 Февраля 2003, 09:19:43 »
Внизу увидел:
Страница сгенерирована за 0.12866902 секунд (76.23% PHP - 23.77% MySQL) SQL запросов: 18
Больше всего меня привлекло:
76.23% PHP - 23.77% MySQL

Как такое сделать на Perl?

36
Как реализовать связь многие-ко-многим между двумя таблицами?
Пример связи многие-ко-многим:
Есть таблица продуктов
products(product_id,product_name) и таблица заказов
,назовем ее accounts(number,product_id,customer_id)
number-номер заказа,customer_id-покупатель
Но ,дело в том что покупатель может в одном заказе выбрать
несколько продуктов.
Меня интересует как предусмотреть эту возможность
и как написать запрос по одному покупателю ,который бы выводил
все продукты выбранные покупателем в данном заказе.
Заранее спасибо.

37
Флейм / Лицензионное соглашение...
« : 20 Февраля 2003, 10:56:51 »
Сейчас пишу к своим программным продуктам (в часности: гостевая, чат, форум с общей системой регистрации, внутренней почты и т.д для крупной компании для организации службы он-лайн тех. поддержки и фан клуба на опициальном сайта музыкальной группы).
Обе стороны хотить от меня лицензионное соглашение.

Вы сталкивались с правовами щекотливыми моментами, которые надо обязательно указать?

Заранее спасибо!

38
У меня 2 вопроса.
1)Я сейчас делаю форум. И столкнулся с такой проблеммой, как вывод иконок (прочитанно/не прочитанно). Наверняка здесь есть люди, которые уже рашили эту проблемму или знакомы с ее решением. Заранее благодарю на то, что вы расскажите мне алгоритм или хотя бы просто выложите кусок кода с комментариями.

2) Прайс. Все бы ничего, но почти все делают прайсы в экселе. А Там часто одно значение фактической ячейчи занимает несколько ячеек, принадлежаших самой оболочке - эксель. Как их фильтровать? Как различать реальные границы ячеек, а при обнаружении мнимых, отпределить их местоположение?
Я недавно делал прйс по принципу - копируем в буфер содержимое экселя, вставляем в форму, заливаем на сервер.
Там идет обработка полученной информации по принципу:
$prise =~/\\t/<\\//gi;
$prise =~/\\n/<\\/td><\\/tr>/gi;
(Язык Perl).
Однако при столконвении с описанной выше ситуацией, он ячейчу, которая фактически одна, хотя  инашодиться в нескольких ячейках экселя, так же помещает в несколько различных. Как от этого избавиться?
Есть ли открытые к общему доступу программые решения этой задачи. Желательно только на языках программирования: Perl, PHP, Asp, JSP? Других я просто не знаю...
Заранее спасибо за развернутые ответы и извините за путаные формулировки вопроса...

С уважением, Сергей.

39
Базы данных / анти like?
« : 18 Февраля 2003, 11:13:18 »
Скажите, есть ли в SQL аператор, противоположный LIKE?
Т.е, чтобы он не проверял включения, а наобротон, проверял, что включений нету в выборке select.
MySQL, поддерживает его? Он входит в стандарт SQL92,

40
Perl / запросы в запросе. Perl+MySQL
« : 16 Февраля 2003, 20:14:18 »
Оговорюсь, я занаю. что MySQL Не поддерживает вложенные запросы, речь не об этом.
Вопрос в том, что используя perl я выполняю такой запрос:
$sth = $dbh->prepare("select name,mail,sity,icq,site,time,text,id,answ_st,comm from $main_gb_table ORDER BY time DESC LIMIT $first,$st_mess");
$sth->execute || die $dbh->errstr;
while (@rez=$sth->fetchrow)
{
$sth = $dbh->prepare("select name,mail,sity,icq,site,time,answ,answ_st from $re_gb_table where id=\'$id\' ORDER BY time DESC");
$sth->execute || die $dbh->errstr;
while (@rez2=$sth->fetchrow)
}
}

Этот прмимер только для показа алгоритма. Однако такой способ получения данных не работает, так как после выполнения первого цикла в первом запросе вывод из первого запроса останавливается, цикл прекращается..
Как быть?

Заранее благодарен за развернутый ответ :)

41
Perl / Удаление кукей
« : 15 Февраля 2003, 20:51:07 »
Объясните пожалуйста, как сделать так, чтобы:
1)Удалить все куки, которые были записанны с домена $domen
2)Удалить только куки с именем $name.

Заранее спасибо, надеюсь на развернутый ответ.

42
Perl / Авторизация и куки. Нужны советы...
« : 13 Февраля 2003, 13:28:09 »
Сделал систему увторизации. проблемма в том - что она подрузомевает 3 рода прав и огромное количество (более 10 000) пользователей.

Пожалуйства проверте этот скрипт на вломоустоичивость, подскажите, может стоит что-то изменить?
Вот код:
sub aut {
########получаем куки
@cookies = split (/\\; /,$ENV{HTTP_COOKIE});
foreach $cookies (@cookies)
{
   ($n, $value) = split(/=/, $cookies);
   $n =~ tr/+/ /;
   $n =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
   $value =~ tr/+/ /;
   $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
   $COOK{$n} = $value;
}

# Есть какие-то данные, сверяем их, если пользователь не авторизуется
if ($COOK{login} ne \'\' && $COOK{sess} ne \'\' && $act ne "login")
{
   $login="$COOK{login}";
   $sess="$COOK{sess}";
   &sess;

}

# Пользователь не авторизован вообще и не авторизуется в данный момент
if (($COOK{login} eq \'\' || $COOK{sess} eq \'\') && $act  ne "login")
{
   &form_login;
   exit;
}
# Пользователь авторизуется
if ($act eq "login")
{
   &login;
$act="";
}
}
sub login
{

   $sth = $dbh->prepare("select id,status from $users_table WHERE login = \'$login\' and pass = \'$pass\'");
   $sth->execute || die $dbh->errstr;
   @rez=$sth->fetchrow;
   ### Логин или пароль не верны!
   $stat="$rez[1]";
   if ($stat eq \'\')
   {
      print "Content-type:text/html\\n\\n";
      &form_login;
      exit;
   }
   # Пользователь авторизован
   if ($stat ne \'\')
   {
      &wr_cookes;
   }

}
### Генерируем и пишем данные пользователя в куки и заносим их в базу
sub wr_cookes
{
   $sess=rand(32);
   print "Set-Cookie: login=$login; expires=now;\\n";
   print "Set-Cookie: sess=$sess; expires=now;\\n";
   $sth = $dbh->prepare("update $users_table set sess=\'$sess\' where login=\'$login\'");
   $sth->execute || die $dbh->errstr;                                                    
   $sth->finish;
}
sub sess
{

   $sth = $dbh->prepare("select id,status,sess from $users_table WHERE login = \'$login\' and sess = \'$sess\'");
   $sth->execute || die $dbh->errstr;
   @rez=$sth->fetchrow;
   $stat="$rez[1]";
   ### Логин или пароль не верны!
   if ($stat eq \'\')
   {
      &form_login;
      exit;
   }
   # Пользователь авторизован
   if ($stat ne \'\')
   {
      &wr_cookes;
   }

}
Далее идет код скрипта, которому передается переменная $stat - статус пользователя.
Еще меня интересует скорость отработки...
И еще. Как мне поставить куки на 20 минут с текущего положения? Хочу сесси сделать. Плюс, как сделаь так, что бы они будуи доступны со всего доменного имени, а не только с текущего скрипта. Заренее спасибо.

43
Обсуждение сайтов / Зацените
« : 02 Июля 2002, 15:33:37 »
Сворганил я здесь сайтик для нашего провайдера, выступающего под лозунгом "я-молодежный интернет провайдер!". Оцените работу, точнее пока еще заготовку.

http://teleport.volsu.ru/new

Интересно ваше мнение относительно всего. Правильно ли я реализовал саму идею "молодежности" и т.д.

P.S. не обращайте внимания на кнопки справа - это только для примера. Они будут перерисованны.

44
PHP / Re
« : 16 Мая 2001, 11:21:25 »
А сообщение о том,что пароль не верный не выскакивает?
У меня тоже phpnuke,но такого не наблюдалось!
С уважением,Сергей.
http://kwazar.lgg.ru ( Информационный клуб webмастеров Kwazar )

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