OVH Cloud OVH Cloud

Apache::Session

4 réponses
Avatar
Alexandre Jaquet
hello j ai un petit soucie avec les sessions apaches,
je sais pas comment c'est possible mais lorsque j ouvre une session
quand je me log celle-ci est accessible pour les autres utilisateurs

voici un bout de code comment je procède :

local our %session;
local our $query = CGI->new ;

my $action = $query->param('action');
$action =~ s/\W//g; ;

if ($action eq "login") {
login();
}

sub login {
my $username = $query->param('user_name') ;
$username=~ s/\W//g; ;
my $userpassword = $query->param('user_password');
$userpassword =~ s/\W//g; ;

# sql query ..
if ($user_name && $user_password) {


tie %session, 'Apache::Session::MySQL', undef, {
DataSource => 'dbi:mysql:recordz:localhost:sessions',
UserName => 'alexj',
Password => 'xx',
LockDataSource => 'dbi:mysql:recordz:localhost:sessions',
LockUserName => 'alexj',
LockPassword => 'x'
};

$session {username} = "$username";
$session {level} = "$level";
...
}

another action :

sub manageVinyl {
my $statut = $query->param('statut');
$statut =~ s/\W//g; ;
my $username = $session{username};
print "Content-type: text/html\n\n";
print "username : $username";
}

mm lorsque je vide la table sessions j arrive toujours a voir ce qui est
contenu dans $session

si quelqu un avait des expliquations sur ce pb ca serait génial

d'avance merci

Alexandre Jaquet
http://djmarketplace.no-ip.biz/

4 réponses

Avatar
Alexandre Jaquet

hello j ai un petit soucie avec les sessions apaches,
je sais pas comment c'est possible mais lorsque j ouvre une session
quand je me log celle-ci est accessible pour les autres utilisateurs

voici un bout de code comment je procède :

local our %session;
local our $query = CGI->new ;

my $action = $query->param('action');
$action =~ s/W//g; ;

if ($action eq "login") {
login();
}

sub login {
my $username = $query->param('user_name') ;
$username=~ s/W//g; ;
my $userpassword = $query->param('user_password');
$userpassword =~ s/W//g; ;

# sql query ..
if ($user_name && $user_password) {


tie %session, 'Apache::Session::MySQL', undef, {
DataSource => 'dbi:mysql:recordz:localhost:sessions',
UserName => 'alexj',
Password => 'xx',
LockDataSource => 'dbi:mysql:recordz:localhost:sessions',
LockUserName => 'alexj',
LockPassword => 'x'
};

$session {username} = "$username";
$session {level} = "$level";
...
}

another action :

sub manageVinyl {
my $statut = $query->param('statut');
$statut =~ s/W//g; ;
my $username = $session{username};
print "Content-type: text/htmlnn";
print "username : $username";
}

mm lorsque je vide la table sessions j arrive toujours a voir ce qui est
contenu dans $session

si quelqu un avait des expliquations sur ce pb ca serait génial

d'avance merci

Alexandre Jaquet
http://djmarketplace.no-ip.biz/



J ai fait un petit script de test mais j ai toujours de gros problèmes
avec ces sessions sous mod_perl 2.00

Le probleme est le suivant, lorsque je tente de récupéré les infos de la
bd le server ne renvoye pas de traitement et semble se perdre dans la
requete

usage :

http://localhost/cgi-bin/session.pl?action=login
http://localhost/cgi-bin/session.pl?action=test
http://localhost/cgi-bin/session.pl?action=test&session_id=[id copier
coller]

#!/usr/bin/perl -w
use strict;
use Apache::Session::MySQL;

my %session;
my $session_id;

local our $query = CGI->new ;

my $action = $query->param('action');

if ($action eq "login") {
login();
}elsif ($action eq "test") {
test();
}

sub login {

tie %session, 'Apache::Session::MySQL', undef,
{
DataSource => 'dbi:mysql:recordz:localhost:sessions',
UserName => 'alexj',
Password => 'xx',
LockDataSource => 'dbi:mysql:recordz:localhost:sessions',
LockUserName => 'alexj',
LockPassword => 'xx'
};
$session{user} = "test";
$session_id = $session{_session_id};
print "Content-type: text/htmlnn";
print "New session created : $session_id<br/>";

}

sub test {
my $session_id = $query->param("session_id");
if ($session_id) {
tie %session, 'Apache::Session::MySQL', $session_id,
{
DataSource => 'dbi:mysql:recordz:localhost:sessions',
UserName => 'alexj',
Password => 'xx',
LockDataSource => 'dbi:mysql:recordz:localhost:sessions',
LockUserName => 'alexj',
LockPassword => 'xxx'
};
print "Content-type: text/htmlnn";
print "Session retrieved : $session_id<br/>";
} else {
print "Content-type: text/htmlnn";
print "redirect login <br/>";
login();
}
}

Avatar
Alexandre Jaquet


hello j ai un petit soucie avec les sessions apaches,
je sais pas comment c'est possible mais lorsque j ouvre une session
quand je me log celle-ci est accessible pour les autres utilisateurs

voici un bout de code comment je procède :

local our %session;
local our $query = CGI->new ;

my $action = $query->param('action');
$action =~ s/W//g; ;

if ($action eq "login") {
login();
}

sub login {
my $username = $query->param('user_name') ;
$username=~ s/W//g; ;
my $userpassword = $query->param('user_password');
$userpassword =~ s/W//g; ;

# sql query ..
if ($user_name && $user_password) {


tie %session, 'Apache::Session::MySQL', undef, {
DataSource => 'dbi:mysql:recordz:localhost:sessions',
UserName => 'alexj',
Password => 'xx',
LockDataSource => 'dbi:mysql:recordz:localhost:sessions',
LockUserName => 'alexj',
LockPassword => 'x'
};

$session {username} = "$username";
$session {level} = "$level";
...
}

another action :

sub manageVinyl {
my $statut = $query->param('statut');
$statut =~ s/W//g; ;
my $username = $session{username};
print "Content-type: text/htmlnn";
print "username : $username";
}

mm lorsque je vide la table sessions j arrive toujours a voir ce qui
est contenu dans $session

si quelqu un avait des expliquations sur ce pb ca serait génial

d'avance merci

Alexandre Jaquet
http://djmarketplace.no-ip.biz/




J ai fait un petit script de test mais j ai toujours de gros problèmes
avec ces sessions sous mod_perl 2.00

Le probleme est le suivant, lorsque je tente de récupéré les infos de la
bd le server ne renvoye pas de traitement et semble se perdre dans la
requete

usage :

http://localhost/cgi-bin/session.pl?action=login
http://localhost/cgi-bin/session.pl?action=test
http://localhost/cgi-bin/session.pl?action=test&session_id=[id copier
coller]

#!/usr/bin/perl -w
use strict;
use Apache::Session::MySQL;

my %session;
my $session_id;

local our $query = CGI->new ;

my $action = $query->param('action');

if ($action eq "login") {
login();
}elsif ($action eq "test") {
test();
}

sub login {

tie %session, 'Apache::Session::MySQL', undef,
{
DataSource => 'dbi:mysql:recordz:localhost:sessions',
UserName => 'alexj',
Password => 'xx',
LockDataSource => 'dbi:mysql:recordz:localhost:sessions',
LockUserName => 'alexj',
LockPassword => 'xx'
};
$session{user} = "test";
$session_id = $session{_session_id};
print "Content-type: text/htmlnn";
print "New session created : $session_id<br/>";

}

sub test {
my $session_id = $query->param("session_id");
if ($session_id) {
tie %session, 'Apache::Session::MySQL', $session_id,
{
DataSource => 'dbi:mysql:recordz:localhost:sessions',
UserName => 'alexj',
Password => 'xx',
LockDataSource => 'dbi:mysql:recordz:localhost:sessions',
LockUserName => 'alexj',
LockPassword => 'xxx'
};
print "Content-type: text/htmlnn";
print "Session retrieved : $session_id<br/>";
} else {
print "Content-type: text/htmlnn";
print "redirect login <br/>";
login();
}
}




Finalement je suis repassé au CGI::Sessions qui me pose pas de problème


Avatar
Alexandre Jaquet



hello j ai un petit soucie avec les sessions apaches,
je sais pas comment c'est possible mais lorsque j ouvre une session
quand je me log celle-ci est accessible pour les autres utilisateurs

voici un bout de code comment je procède :

local our %session;
local our $query = CGI->new ;

my $action = $query->param('action');
$action =~ s/W//g; ;

if ($action eq "login") {
login();
}

sub login {
my $username = $query->param('user_name') ;
$username=~ s/W//g; ;
my $userpassword = $query->param('user_password');
$userpassword =~ s/W//g; ;

# sql query ..
if ($user_name && $user_password) {


tie %session, 'Apache::Session::MySQL', undef, {
DataSource => 'dbi:mysql:recordz:localhost:sessions',
UserName => 'alexj',
Password => 'xx',
LockDataSource => 'dbi:mysql:recordz:localhost:sessions',
LockUserName => 'alexj',
LockPassword => 'x'
};

$session {username} = "$username";
$session {level} = "$level";
...
}

another action :

sub manageVinyl {
my $statut = $query->param('statut');
$statut =~ s/W//g; ;
my $username = $session{username};
print "Content-type: text/htmlnn";
print "username : $username";
}

mm lorsque je vide la table sessions j arrive toujours a voir ce qui
est contenu dans $session

si quelqu un avait des expliquations sur ce pb ca serait génial

d'avance merci

Alexandre Jaquet
http://djmarketplace.no-ip.biz/





J ai fait un petit script de test mais j ai toujours de gros problèmes
avec ces sessions sous mod_perl 2.00

Le probleme est le suivant, lorsque je tente de récupéré les infos de
la bd le server ne renvoye pas de traitement et semble se perdre dans
la requete

usage :

http://localhost/cgi-bin/session.pl?action=login
http://localhost/cgi-bin/session.pl?action=test
http://localhost/cgi-bin/session.pl?action=test&session_id=[id copier
coller]

#!/usr/bin/perl -w
use strict;
use Apache::Session::MySQL;

my %session;
my $session_id;

local our $query = CGI->new ;

my $action = $query->param('action');

if ($action eq "login") {
login();
}elsif ($action eq "test") {
test();
}

sub login {

tie %session, 'Apache::Session::MySQL', undef,
{
DataSource => 'dbi:mysql:recordz:localhost:sessions',
UserName => 'alexj',
Password => 'xx',
LockDataSource => 'dbi:mysql:recordz:localhost:sessions',
LockUserName => 'alexj',
LockPassword => 'xx'
};
$session{user} = "test";
$session_id = $session{_session_id};
print "Content-type: text/htmlnn";
print "New session created : $session_id<br/>";

}

sub test {
my $session_id = $query->param("session_id");
if ($session_id) {
tie %session, 'Apache::Session::MySQL', $session_id,
{
DataSource => 'dbi:mysql:recordz:localhost:sessions',
UserName => 'alexj',
Password => 'xx',
LockDataSource => 'dbi:mysql:recordz:localhost:sessions',
LockUserName => 'alexj',
LockPassword => 'xxx'
};
print "Content-type: text/htmlnn";
print "Session retrieved : $session_id<br/>";
} else {
print "Content-type: text/htmlnn";
print "redirect login <br/>";
login();
}
}




Finalement je suis repassé au CGI::Sessions qui me pose pas de problème


enfin moins .. lol



Avatar
DoMinix

...




Finalement je suis repassé au CGI::Sessions qui me pose pas de problème


enfin moins .. lol


ca n'est pas tres correct d'envoyer 140 lignes de reply de toi même
pour 1 ligne signifiative, encore moins 2 fois d'affilé.
revoie vite tes bon usages.

--
dominix