Kristabs Posted August 30, 2007 Report Share Posted August 30, 2007 Ir vairākas atsevišķas lapas, kuras balstās uz vienu lietotāju db, sāk parādīties vajadzība, lai var pa šīm lapām staigāt un palikt ielogojies. Vienīgais variants, kas nāk prātā man ir, ka katrā lapā ir saites uz citām lapām, kuras ved uz autentifikācijas mehānismu un pāradresē uz vajadzīgo lapu. Bet šajā gadījumā jaunajā lapā paliks ielogojies tikai gadījumā, ja uz lapu nācis caur spiestu linku. Vajadzētu kādas labākas idejas. Varētu kādu kukiju uz centrālo domeinu un tad pārbaudīt to, bet tas nozīmē, ka šī pārbaude ir pie katra neielogota lietotāja klika, neefektīvi. P.S. Tam visreālākais piemērs ir google.com (google.lv, gmail.com, etc) Link to comment Share on other sites More sharing options...
xPtv45z Posted August 30, 2007 Report Share Posted August 30, 2007 Man liekas, ka sesijas jāglabā kaut kādā vienā datubāzē. Un tad attiecīgi ieejot kādā domēnā pārbauda vai tāda ir datubāzē un izveido tādu pašu lokāli. Link to comment Share on other sites More sharing options...
martins256 Posted August 30, 2007 Report Share Posted August 30, 2007 gmail.com pārvieto uz mail.google.com, visi tie maps, news ... ir kā aaa.google.com Varbūt dari tā, ka katrs domēns dod kuukiju ar ses id(tas glabājas kopējā db) un tad attiecīgi pārvieto no lapas uz lapu ar linku. Tad tajā citā lapā pārbaudi vai ir tāda sesija reģistrēta. Ja ir tad piešķir arī no tās lapas kūkiju. 2. variants - tāds bīstamāks glabā kkādu md5(usera ip, usera pārlūkpr, usera monitora izmēri, utt brīnumus), tā varētu autentificēt cilvēku bez jebkādiem cepumiem, bet pasākums var būt riskants! Link to comment Share on other sites More sharing options...
Delfins Posted August 30, 2007 Report Share Posted August 30, 2007 Ja ir tad piešķir arī no tās lapas kūkiju. tas jau ir XSS... nav labi.. Jebkurā gadījumā ar sessId iekš GET-a neiztikt... un tas ir tikpat bīstami, kā taisīt kaut kādu hešu... (protams jāčeko IP/browser vismaz) Link to comment Share on other sites More sharing options...
Paulinjsh Posted August 30, 2007 Report Share Posted August 30, 2007 Piekrītu xPtv45z sesijas glabā datu bāzē. Link to comment Share on other sites More sharing options...
Kristabs Posted August 30, 2007 Author Report Share Posted August 30, 2007 Galīgi nesaprotu ko dos sesijas glabāšana db. Pēc kā var pateikt, ka tā ir viņa? Link to comment Share on other sites More sharing options...
Paulinjsh Posted August 30, 2007 Report Share Posted August 30, 2007 nu varēsi uzrakstīt sesijas handleri tā lai visām lapām slēdzas pie viena servera un izmanto vienu un to pašu sesiju Link to comment Share on other sites More sharing options...
Delfins Posted August 30, 2007 Report Share Posted August 30, 2007 Pēc kā var pateikt, ka tā ir viņa? Sessijas ID, lōōōōģiski... Nu un drošībai iekšējie mainīgie jačeko - IP / Browser (jo parasti browseri nemēdz mainīt savu identitāti, citos gadījumos tas ir haks). Tas ka ir dinamiska IP ... nu te ir kompromiss... tev ir cita IP, cita konekcija, attiecīgi arī jaunu sessiju dabūsi Link to comment Share on other sites More sharing options...
Kristabs Posted August 30, 2007 Author Report Share Posted August 30, 2007 Sesijas ID tak mainās katram hostam. Link to comment Share on other sites More sharing options...
Delfins Posted August 30, 2007 Report Share Posted August 30, 2007 ja vien nepadosi GET-ā... teiksim tā.. tev ir saits, visi externālie linki tiek padoti ar tekošās sesijas ID... Jūzers nonāk citā saitā/domenā... GET/POST apstrādā parametru SessId (ja tāds bāzē ir, tad inicializē tekošo sessiju) - to sauc par session-handling ... PHP pat ir f-jas handleru pārdefinēšanai (to biš uzraksti savas f-jas un aley-oppp..) Link to comment Share on other sites More sharing options...
v3rb0 Posted August 30, 2007 Report Share Posted August 30, 2007 a toč nevar kaut kā ar cookijiem vai kaut ko citu. taij pašai googlei nav tev jāpadot nekāds links ar sesijas id, bet vari rakstīt urli ar roku browserī, un google pate pēc kaut kā izpīpē ka un kā esi ielogojies citā viņu produktā. Link to comment Share on other sites More sharing options...
Delfins Posted August 30, 2007 Report Share Posted August 30, 2007 (edited) a notreiso HTTP headerus. tad i viss taps zināms. Pēc postošanas emailā https://www.google.com/accounts/CheckCookie?continue=https%3A%2F%2Fmail.google.com%2Fmail%2F%3F&service=mail&hl=en&chtml=LoginDoneHtml GET /accounts/CheckCookie?continue=https%3A%2F%2Fmail.google.com%2Fmail%2F%3F&service=mail&hl=en&chtml=LoginDoneHtml HTTP/1.1 Host: www.google.com User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6 Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Cookie: SID=___________xyz______________ LSID=___________xyz______________ HTTP/1.x 302 Moved Temporarily Content-Type: text/html; charset=UTF-8 Cache-Control: no-cache Pragma: no-cache Location: https://mail.google.com/mail/?auth=___________xyz______________ // VOT TE TĀ viltīgā SESS_ID padošana Transfer-Encoding: chunked Content-Encoding: gzip Date: Thu, 30 Aug 2007 15:49:54 GMT Server: GFE/1.3 tālāk ievadu maps.google.com http://maps.google.com/ GET / HTTP/1.1 Host: maps.google.com User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6 Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Proxy-Connection: keep-alive Cookie: PREF=ID=e87071516e036d55:TM=1171352242:LM=1186734970:L=0n_5u_9gL3eWN1CEQAA:GM=1:S=BKXfXGExIfNBYFp-; SID=___________xyz______________ S=gmail=pyGhUlU3b_eQY5R1DJwv2g:gmail_yj=XXxdrZUImV-utigLEKCBgg:gmproxy=u3GyjEpR8hA:gmproxy_yj=vRyEB3hpeXA:gmproxy_yj_sub=4ozUj-6fK5Y; TZ=-180 Kāds jau ir ielicis cookie uz to saitu... Edited August 30, 2007 by Delfins Link to comment Share on other sites More sharing options...
Recommended Posts