Автор Тема: Проблема со скриптом.  (Прочитано 4237 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн alex007

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 835
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.russians-in-london.co.uk/
Проблема со скриптом.
« : 09 Января 2003, 20:50:47 »
У меня возникла самая идиотская проблема, установил скрипт, как положено установив на него chmod 755, выдает ошибку:
No such file or directory: exec of whois.cgi failed
Зато с #!/usr/bin/perl -w работает без ни каких проблем.

Жду Ответов.
С Уважением,
Алекс
Русские-в-Лондоне. Как они там? Интересно. Инфо (FAQ), Форум и Магазин

Оффлайн Chs

  • Perl программер
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1108
  • +0/-0
  • 2
    • Просмотр профиля
    • http://chs.now.at/
Проблема со скриптом.
« Ответ #1 : 09 Января 2003, 21:36:24 »
Странно. Попробуй:
use CGI::Carp qw (fatalsToBrowser);
2B OR NOT 2B = FF

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Проблема со скриптом.
« Ответ #2 : 09 Января 2003, 23:01:14 »
А что странного?
С путями - грабли. Там и искать ошибку.
The documentations is your friend

Оффлайн alex007

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 835
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.russians-in-london.co.uk/
Проблема со скриптом.
« Ответ #3 : 10 Января 2003, 14:17:55 »
Chs
Заработал

NeoNox
Это каким путем, если сервер то не у меня дома стоит, а у хоста.

Спасибо.
« Последнее редактирование: 10 Января 2003, 14:24:13 от alex007 »
Русские-в-Лондоне. Как они там? Интересно. Инфо (FAQ), Форум и Магазин

Оффлайн alex007

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 835
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.russians-in-london.co.uk/
Проблема со скриптом.
« Ответ #4 : 13 Января 2003, 00:07:04 »
Приветик,

опять та же самая история, но уже с другим скриптом, прописав use CGI::Carp qw (fatalsToBrowser);
и -w работает без проблем, уберая -w выдает ошибку [error] (2)No such file or directory: exec of login.cgi failed
Русские-в-Лондоне. Как они там? Интересно. Инфо (FAQ), Форум и Магазин

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Проблема со скриптом.
« Ответ #5 : 13 Января 2003, 11:04:38 »
Что за скрипт? Если небольшой - выложи сюда.
Цитировать
Это каким путем, если сервер то не у меня дома стоит, а у хоста.

Берем в руки словарь и переводим:
Цитировать
No such file or directory

Это значит у тебя идет вызов несуществующего обьекта. И неважно где.
The documentations is your friend

Оффлайн alex007

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 835
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.russians-in-london.co.uk/
Проблема со скриптом.
« Ответ #6 : 13 Января 2003, 21:06:58 »
Цитировать
Это значит у тебя идет вызов несуществующего обьекта. И неважно где.

Как раз таки объект существует, но вот в последнее время скрипты на хосте валяют дурака, так как до этого я же там же и тестировал его и он(скрипт) работал отлично.

И если ты прочел до этого сообщение что скрипт работает с -w, а без нет.

Цитировать
Что за скрипт? Если небольшой - выложи сюда.

Скрипт авторизалка для пользователей.

#!/usr/bin/perl
###############################################################
$pass = "/путь до паролей/passwd.dat";
use CGI::Carp qw (fatalsToBrowser);
use CGI::Cookie;
use CGI qw(:standard);
###############################################################
# Form Data Parsing
################
# Comparison

read(STDIN, $buffer, $ENV{\'CONTENT_LENGTH\'});

# Split the name-value pairs
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
   local($name, $value) = split(/=/, $pair);
   $value =~ tr/+/ /;
   $value =~
      s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
   # strip off any possible SSI comment tags.
   $value =~ s///g;
   $in{$name} = $value;
   }

open(LIST, $pass);
  @pass = ;
close(LIST);

foreach $line(@pass)
   {
   chomp($line);
   ($correctUsername,$correctPassword) = split(/\\|/,$line);
    if ($in{\'username\'} ne $correctUsername) {
      if($in{\'password\'} ne $correctPassword)
     {
     $urlerror="http://$ENV{\'HTTP_HOST\'}/error-authorisation.html";
     print redirect( -URL => $urlerror);
     }}
   if ($in{\'username\'} eq $correctUsername) {
      if($in{\'password\'} eq $correctPassword)
     {
     $cookie1 = new CGI::Cookie(-name=>\'username\',-value=>$in{\'username\'},-path=> \'/\',-expires=>\'+3h\');
     $cookie2 = new CGI::Cookie(-name=>\'password\',-value=>$in{\'password\'},-path=> \'/\',-expires=>\'+3h\');
     $cookie3 = new CGI::Cookie(-name=>\'ip\',-value=>$ENV{\'REMOTE_ADDR\'},-path=> \'/\',-expires=>\'+3h\');
    #print header(-cookie=>[$cookie1,$cookie2,$cookie3]);
    $url="http://$ENV{\'HTTP_HOST\'}/custom/$in{\'username\'}/";
    print redirect( -URL     => $url,
                    -COOKIE  => [$cookie1,$cookie2,$cookie3]);
     }}
}
Русские-в-Лондоне. Как они там? Интересно. Инфо (FAQ), Форум и Магазин

Оффлайн alex007

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 835
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.russians-in-london.co.uk/
Проблема со скриптом.
« Ответ #7 : 17 Января 2003, 20:24:28 »
NeoNox
Так что скажешь о проблеме?
Русские-в-Лондоне. Как они там? Интересно. Инфо (FAQ), Форум и Магазин

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Проблема со скриптом.
« Ответ #8 : 18 Января 2003, 14:22:26 »
Скажу что это не код, это так что-бы помягче.
Я его даже проверять не хочу.
1) у тебя загружен use CGI qw(:standard); так и разбирай с его помощью параметры передаваемые в скрипт.
2) с куками ты намутил.
 print redirect( -URL => $url,
-COOKIE => [$cookie1,$cookie2,$cookie3]);
Хмм... Сначала куки - потом заголовки.
Куки у тебя вообще выставлялись?

Зачем такая конструкция?
 if ($in{\'username\'} eq $correctUsername) {
if($in{\'password\'} eq $correctPassword) ...
Тут с логикой нет дружбы. Ты бы готь на бумажке сначало написал что и как должно работать.
The documentations is your friend

Оффлайн alex007

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 835
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.russians-in-london.co.uk/
Проблема со скриптом.
« Ответ #9 : 18 Января 2003, 15:54:38 »
Цитировать
Зачем такая конструкция?
if ($in{\'username\'} eq $correctUsername) {
if($in{\'password\'} eq $correctPassword) ...
Тут с логикой нет дружбы. Ты бы готь на бумажке сначало написал что и как должно работать.

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

Цитировать
Скажу что это не код, это так что-бы помягче.
Я его даже проверять не хочу.
1) у тебя загружен use CGI qw(:standard); так и разбирай с его помощью параметры передаваемые в скрипт.
2) с куками ты намутил.
print redirect( -URL => $url,
-COOKIE => [$cookie1,$cookie2,$cookie3]);
Хмм... Сначала куки - потом заголовки.
Куки у тебя вообще выставлялись?

Спасибо.
Русские-в-Лондоне. Как они там? Интересно. Инфо (FAQ), Форум и Магазин

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Проблема со скриптом.
« Ответ #10 : 18 Января 2003, 16:12:10 »
Не обижайся. Мне на работе хватает таких картин...

Цитировать
нет почему же, просто проверяет пароль,

Да потому, что он у тебя пробегает по все цепочкам независимо от чего бы ни было. Это глупо.Тем более в foreach. Нарисуй на бумаге и поймешь.

Параметры:
$username=param("username");
...
И убрать эту штуку (Form Data Parsing) в самом начале скрипта.

Куки: perldoc CGI::Cookie
Цитировать
use CGI qw/:standard/;
           use CGI::Cookie;

           # Create new cookies and send them
           $cookie1 = new CGI::Cookie(‐name=>’ID’,‐value=>123456);
           $cookie2 = new CGI::Cookie(‐name=>’preferences’,
                                      ‐value=>{ font => Helvetica,
                                                size => 12 }
                                      );
           print header(‐cookie=>[$cookie1,$cookie2]);
Различие увидел?
Когда напишешь все правильно - сам поймешь в чем ошибка.
The documentations is your friend

Оффлайн alex007

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 835
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.russians-in-london.co.uk/
Проблема со скриптом.
« Ответ #11 : 18 Января 2003, 19:38:00 »
NeoNox
Да ничего спасибо, на ошибках учаться.

Цитировать
Различие увидел?

Да увидил.
Русские-в-Лондоне. Как они там? Интересно. Инфо (FAQ), Форум и Магазин

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Проблема со скриптом.
« Ответ #12 : 19 Января 2003, 14:36:38 »
Там где "‐" это значит "-"
[OFF]Не дружит этот форум с дефолтным линуксовским клипбордом...[/OFF]
The documentations is your friend

Оффлайн alex007

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 835
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.russians-in-london.co.uk/
Проблема со скриптом.
« Ответ #13 : 19 Января 2003, 14:40:57 »
NeoNox
Да я заметил и понял что имеешь ввиду.
Русские-в-Лондоне. Как они там? Интересно. Инфо (FAQ), Форум и Магазин

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28