[Perl, Catalyst] браузер не сохраняет cookies с авторизации

И всё прочее, что касается HTML
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

[Perl, Catalyst] браузер не сохраняет cookies с авторизации

Непрочитанное сообщение ProFTP » 2010-10-30 10:29:14

есть очень странная ситуация, не знаю с чего начать, даже интеренсо узнать из-за чего такая проблема...

есть:
CentOS4
Bind9
perl5.8.8
apache20
Catalyst последней версии и 5.80004


с начала поставил первую версию Catalyst самую новую, и остальные последние модули которые там
...c сессиию и авторизацию с DBI
все работает


как только-то написал Login.pm

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

        # Attempt to log the user in
        if (
            $c->authenticate(
                {
                    username => $username,
                    password => $password
                }
            )
          )
        {

            # If successful, then let them use the application
            $c->response->redirect( $c->request->referer() or '/' );

#print '1';
            $c->detach();
        }


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

package Flirt18::Controller::Login;
use Moose;
use namespace::autoclean;

 use Data::Dumper;

BEGIN {extends 'Catalyst::Controller'; }

=head1 NAME

Flirt18::Controller::Login - Catalyst Controller

=head1 DESCRIPTION

Catalyst Controller.

=head1 METHODS

=cut


=head2 index

=cut

sub index :Path :Args(0) {
    my ( $self, $c ) = @_;

#    $c->response->body('Matched Flirt18::Controller::Login in Login.');

#   $c->stash->{template} = 'index.tt';

# print Dumper $c;


    # Get the username and password from form
#        my $username = $c->request->params->{username} || "";
 #           my $password = $c->request->params->{password} || "";
#print '666';

my $username = "test02";
my $password = "mypass";
 

#print "666-".$c->user_exists()."-666";

#print Dumper $c->authenticate;

 $c->authenticate(
                {
                    username => $username,
                    password => $password
                }
            );

print Dumper $c;

#print "666-".$c->user_exists()."-666";


#return;


            
                # If the username and password values were found in form
                    
                        # use Data::Dumper;
                           # print Dumper($c->request->{headers});
                               
                                   if ( $username && $password ) {

                                   
        # Attempt to log the user in
        if (
            $c->authenticate(
                {
                    username => $username,
                    password => $password
                }
            )
          )
        {

            # If successful, then let them use the application
#            $c->response->redirect( $c->request->referer() or '/' );

#print '1';
            $c->detach();
        }

        else {
        
#print '2';


        }
                    
     }

#print '66';
}


=head1 AUTHOR

root

=head1 LICENSE

This library is free software. You can redistribute it and/or modify
it under the same terms as Perl itself.

=cut

__PACKAGE__->meta->make_immutable;

1;

то заметил ситуацияю что пользователи не авторизируются...

при авторизации, сессия идет в базу в табилу - там все нормально...

но в куки, тоже вродебы идет.. но там ее нету...

я написал бот на LWP который сохраняет cookies

зашел на этот сайт на этом сервере и cookies НЕ сохранилась...

а как только заходил на другой рубочий с Catalyst,то cookies сохранялась...

значит: проблема в сохраниении cookies в браузере вместе из сессиями...

видно в html отладке, что Catalyst отправляет сессии. в cookie! но в браузере ее нету!!

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

                                                                                            },
                                                                                  '_children' => [],
                                                                                  '_depth' => 0,
                                                                                  '_uid' => 'begin1',
                                                                                  '_height' => 1
                                                                                }, 'Tree::Simple' ),
                                                                         bless( {
                                                                                  '_parent' => $VAR1->{'stats'}{'tree'},
                                                                                  '_width' => 1,
                                                          HTTP/1.0 200 OK
Connection: close
Date: Sat, 30 Oct 2010 06:09:30 GMT
Set-Cookie: fl_session=d80bfc30b1d70493423cf225ae1bee91a0c64ecb; path=/; expires=Sat, 30-Oct-2010 07:09:30 GMT
Status: 200
X-Catalyst: 5.80004



на другом рабочем сервере такой проблемы нету, и взял просто сокпировал весь каталог модулей со cpan -
это /Catalyst и catalyst.pm

т.е. скопировал модули с ТОЧНО рабочего сервера Catalysta, и опять авторизация не работает, не хочет сохранять куки в браузере!
там правда perl5.8.8, но думаю не важно...


еще:так же написано, что Catalyst поддерживается с perl5.8.8
и на другом сервер у меня apache22 (не apache20 )


как узнать почему браузер не хочет сохранять cookies?
может есть еще какая-то причина? возможно в настройке сервера?
повторюсь, я скопировал полностью с 100% рабочего сервера каталог /Catalyst и catalyst.pm - это ошибка не поменялась...
(разница в версиях perl5.8.9 ( 100% ) perl5.8.8 (там где делаю) )
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: [Perl, Catalyst] браузер не сохраняет cookies с авториза

Непрочитанное сообщение ProFTP » 2010-10-31 9:50:11

извините, все кто читал :)
проблема была в том что браузер был кривой, браузер opera9 глючила почему-то... (замечал что она на других сайтах, тоже, плохо работала...)
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение