Jump to content
php.lv forumi

Sesijas uz vairākiem domeiniem


Kristabs

Recommended Posts

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

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

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

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

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

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

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 by Delfins
Link to comment
Share on other sites

×
×
  • Create New...