[ORACLE] PSP + cookie - problem
btr - 30-03-2006 00:13
[ORACLE] PSP + cookie - problem
Witam.
Mam problem z cookies wysylanych z poziomu strony PSP. Chce, aby po sprawdzenieniu, czy uzytkownik o podanym loginie i hasle istnieje, serwer wysylal cookie z haslem i przekierowywal go do odpowiedniej strony (w tym przypadku 'main'). Jesli zostanie podany bledny login i haslo wyswietlana jest strona z odpowiednim komunikatem ('blad'). Procedura wyswietlajaca formularz logowania wyglada nastepujaco:
CREATE OR REPLACE PROCEDURE LOGIN AS BEGIN htp.prn(' <html> head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" /> <title>Login</title> </head> <body> <form action="chlog" method="post"> Login: <input name="login" type="text" size="10" maxlength="10"><br/> Hasło: <input name="password" type="text" size="10" maxlength="10"><br/> <input type="submit" name="submit" value="Dodaj"> </form> </body> </html> '); END;
Procedura obslugujaca formularz:
CREATE OR REPLACE PROCEDURE chlog ( login IN VARCHAR2 default null, password IN VARCHAR2 default null, submit IN VARCHAR2 ) AS BEGIN IF verify_user(login, password) THEN set_user(password); owa_util.redirect_url('main', TRUE); ELSE owa_util.redirect_url('blad', TRUE); END IF; END;
Funkcja sprawdzajaca czy uzytkownik o podanym loginie i hasle istnieje:
CREATE OR REPLACE FUNCTION verify_user ( i_login IN VARCHAR2, i_pass IN VARCHAR2 ) RETURN BOOLEAN IS match_count NUMBER := 0; BEGIN SELECT COUNT (*) INTO match_count FROM members WHERE login = i_login AND password = i_pass; IF match_count = 1 THEN RETURN TRUE; ELSE RETURN FALSE; END IF; END;
Procedura wysylania ciastka:
CREATE OR REPLACE PROCEDURE set_user (i_pass IN VARCHAR2) IS BEGIN OWA_UTIL.mime_header ('text/html', FALSE, 'ISO-8859-2'); OWA_COOKIE.send ('pass', i_pass); OWA_UTIL.http_header_close; END;
Niestety serwer w ogole nie wysyla cookie. Procedura chlog dziala tylko gdy zostana podane bledne dane do logowania. Gdy podam prawidlowe dane pokazuje sie strona chlog i napis: "Location: main" DAD skonfigurowany jest w najprostszy sposob (podany DB username i password, tryb autentykacji - Basic). Jesli ktos ma pomysl na rozwiazanie problemu - bede bardzo wdzieczny.
Pozdrawiam
btr
Jacek Biel - 30-03-2006 00:13
Użytkownik "btr" <bartekt@rsk.rz.pl> napisał w wiadomości news:e0dcl3$ob4$1@news.rsk.pl... > Witam. > > Mam problem z cookies wysylanych z poziomu strony PSP. Chce, aby po <ciach> > CREATE OR REPLACE PROCEDURE set_user (i_pass IN VARCHAR2) > IS > BEGIN > OWA_UTIL.mime_header ('text/html', FALSE, 'ISO-8859-2'); > OWA_COOKIE.send ('pass', i_pass); > OWA_UTIL.http_header_close; > END;
proponuje z tej funkcji wywalic linie: > OWA_UTIL.http_header_close; i powinno dzialac.
> Niestety serwer w ogole nie wysyla cookie. Procedura chlog dziala tylko gdy wysyla, wysyla, proponuje przetestowac: owa_cookie.send('nazwa','wartosc', czas_wygasniecia), gdzie czas wygasniecia np. sysdate+1. A do testow cookiesow np. firefoxa+ext. cookie editor
pozdr. -- Jacek Biel bi3lik<at>gazeta<dot>pl
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Oracle, SQL, PL/SQL. Jak =?ISO-8859-2?Q?napisa=E6_zapytanie=2C?==?ISO-8859-2?Q?_kt=F3re_zwr=F3ci_nazw=EA_atrybutu=2C_kt=F3reg o?==?ISO-8859-2?Q?_warto=B6ci_spe=B3niaj=B1_zadany_warunek?=
Oracle 19g +Insert +Insert +Insert...
[oracle] zapytanie dynamiczne z =?ISO-8859-2?Q?=22dynamiczn=B1_?==?ISO-8859-2?Q?nazw=B1_tabeli=22?=
[Oracle] jak =?ISO-8859-2?Q?ograniczy=E6_pami=EA=E6_dla_se?==?ISO-8859-2?Q?rwera=3F?=
=?ISO-8859-2?Q?=5BOT=5D_Zdany_egzamin_Oracle_1Z0-007_a?==?ISO-8859-2?Q?_brak_informacji_na_stronie_Prometric_-_czy?==?ISO-8859-2?Q?_co=B6_nie_tak=3F?=
[oracle] czy da =?ISO-8859-2?Q?si=EA_z_poziomu_procedury_?==?ISO-8859-2?Q?zrobi=E6_kopi=EA_zapasow=B1=3F?=
[MSSQL2000] Problem z =?ISO-8859-2?Q?tabel=B1/indeksem/zapytanie?==?ISO-8859-2?Q?m_czy_b=B3=B1d_w_bazie_danych=2E=2E=2E?=
[oracle 10g] czy =?ISO-8859-2?Q?mo=BFna_wy=B3=B1czy=E6_wszys?==?ISO-8859-2?Q?tkie_wi=EAzy_w_schemacie=3F?=
MSSQL Express czy Oracle Express
=?iso-8859-2?q?[oracle]_Jak_sprawdzi=E6_wielko=B6=E6_tabeli_=3F=3F?=
zanotowane.pldoc.pisz.plpdf.pisz.plbajkomoda.xlx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|