diff Lib/IMPL/Web/QueryHandler/SecureCookie.pm @ 75:915df8fcd16f

docs small fixes
author wizard
date Tue, 30 Mar 2010 20:31:36 +0400
parents 84aa8c395fce
children 3d1f584aea60
line wrap: on
line diff
--- a/Lib/IMPL/Web/QueryHandler/SecureCookie.pm	Mon Mar 29 17:40:06 2010 +0400
+++ b/Lib/IMPL/Web/QueryHandler/SecureCookie.pm	Tue Mar 30 20:31:36 2010 +0400
@@ -13,25 +13,33 @@
 sub CTOR {
 	my ($this) = @_;
 	
-	
+	$this->salt('DeadBeef') unless $this->salt;
 }
 
 sub Process {
 	my ($this,$action,$nextHandler) = @_;
 	
+	return undef unless $nextHandler;
+	
 	my $method = $action->query->cookie('method') || 'simple';
 	
 	if ($method eq 'simple') {
 		
 		my $sid = $action->query->cookie('sid'); 
-		my $cookie = $action->query->cookie('cookie');
+		my $cookie = $action->query->cookie('sdata');
+		my $sign = $action->query->cookie('sign'); 
 		
-		if ($action->query->cookie('sign') eq md5_hex(
-			$this->salt,
-			$sid,
-			$cookie,
-			$this->salt
-		) ) {
+		if (
+			$sid and
+			$cookie and
+			$sign and
+			$sign eq md5_hex(
+				$this->salt,
+				$sid,
+				$cookie,
+				$this->salt
+			)
+		) {
 			
 			my $context = $action->application->security->Session(
 				id => $sid				
@@ -50,5 +58,35 @@
 	}
 }
 
+1;
 
-1;
\ No newline at end of file
+__END__
+
+=pod
+
+=head1 NAME
+
+C<IMPL::Web::QueryHandler::SecureCookie>
+
+=head1 DESCRIPTION
+
+C<use base qw(IMPL::Web::QueryHandler)>
+
+Возобновляет сессию пользователя на основе информации переданной через Cookie.
+
+Использует механизм подписи информации для проверки верности входных данных перед
+началом каких-либо действий.
+
+Данный обработчик возвращает результат выполнения следдующего обработчика.
+
+=head1 MEMBERS
+
+=over
+
+=item C<[get,set] salt>
+
+Скаляр, использующийся для подписи данных.
+
+=back
+
+=cut
\ No newline at end of file