Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[PHP] Cookie uitlezen voor info

Pagina: 1
Acties:

  • geerttttt
  • Registratie: Oktober 2006
  • Laatst online: 07-11 20:47

geerttttt

Manisch positief

Topicstarter
Ik probeer een cookie uit te lezen die vanaf een ander pakket op mijn website draait. Ik wil de cookie gebruiken om een soort Single sign on voor mijn site te maken. (momenteel is er nog geen inlogfunctie op mijn site. Dus eigenlijk wil ik op de inlogfunctie van het andere pakket meeliften) Ik heb echter een probleem met het uitlezen.

De cookie is in base64 gecodeerd kwam ik achter. Wat ik dus doe is een base64_decode in php, en dan krijg ik dit:

code:
1
2
3
4
5
6
{I"user_id:EFiI"
ctime;Fl+S�QI"
atime;Fl+q"�QI"session_id;FI"%799c7072e360bb184750f2472c48fd60;TI"_csrf_token;FI"1pC5Yn9BpVKtsoTi7WsDGLzaLDvbY1JZLiKJV8R3svWY=;FI"
query;F{    :project_idi@:filters{I"status_id;F{:
operatorI"o;F:values[I";F:
group_by0:column_names0I"issues_index_sort;FI"id:desc;F

Dit zou een json string moeten zijn welke ik om kan zetten, en daar lijkt het ook op. Maar er zitten rare tekens en fouten in. Moet ik iets doen met de base64 decode om hem goed te decoden ofzo?

Dit was de originele base64 string:
code:
1
BAh7DEkiDHVzZXJfaWQGOgZFRmkaSSIKY3RpbWUGOwBGbCsHUwSuUUkiCmF0aW1lBjsARmwrB3EirlFJIg9zZXNzaW9uX2lkBjsARkkiJTc5OWM3MDcyZTM2MGJiMTg0NzUwZjI0NzJjNDhmZDYwBjsAVEkiEF9jc3JmX3Rva2VuBjsARkkiMXBDNVluOUJwVkt0c29UaTdXc0RHTHphTER2YlkxSlpMaUtKVjhSM3N2V1k9BjsARkkiCnF1ZXJ5BjsARnsJOg9wcm9qZWN0X2lkaUA6DGZpbHRlcnN7BkkiDnN0YXR1c19pZAY7AEZ7BzoNb3BlcmF0b3JJIgZvBjsARjoLdmFsdWVzWwZJIgAGOwBGOg1ncm91cF9ieTA6EWNvbHVtbl9uYW1lczBJIhZpc3N1ZXNfaW5kZXhfc29ydAY7AEZJIgxpZDpkZXNjBjsARg==

Oost west, 127.0.0.1 best!


  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Kan je niet kijken hoe dat pakket de cookie afhandeling doet? Wellicht hebben zij er een functie of een class voor die je ervoor kan gebruiken, dan hoef je alleen de library van die applicatie te includen op je homepage met eventueel het path van je cookie. :)

  • ThomasG
  • Registratie: Juni 2006
  • Laatst online: 18:54
Hoe zien de gegevens eruit voordat ze een base 64 encoding krijgen? Ik denk namelijk dat het een character encoding probleem is. Het gaat er als een andere character encoding in dan dat het eruit komt.

  • Down
  • Registratie: Februari 2005
  • Laatst online: 13:28
Je zult toch moeten weten welke encoding de originele string gebruikt en hem als zodanig decoderen. Lees ook eens het volgende artikel:

http://www.joelonsoftware.com/articles/Unicode.html

Mother north, how can they sleep while their beds are burning?


  • ValHallASW
  • Registratie: Februari 2003
  • Niet online
Encoding lijkt me hier niet het probleem (even afgezien van het als UTF-8 interpreteren van de acht bytes 6c 2b 07 53 04 ae 51 49 (de l+S�QI waar GoT vervolgens l+S�QI van maakt).

Het lijkt me eerder dat hier geen sprake is van JSON maar van een (deels) binair serialisatie-formaat: een F met 8 bytes voor een float (hoewel ik niet 1-2-3 het weer tot float kan omvormen) en een " met een lengte-byte voor een string (hoewel ook dát niet helemaal uitkomt: 12 bytes voor 'user_id' en 10 bytes voor 'ctime' is wat gek, maar ze schelen wel daadwerkelijk twee bytes.

Probeer dus uit te vinden welk formaat dit is (ik kon het zo 1-2-3 niet herkennen, maar iemand anders wellicht wel - of bijvoorbeeld de source van het programma waar je mee probeert te interfacen)

Omdat het praktischer is in dit soort gevallen om met een hexdump te werken - bij deze:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
00000000  04 08 7b 0c 49 22 0c 75  73 65 72 5f 69 64 06 3a  |..{.I".user_id.:|
00000010  06 45 46 69 1a 49 22 0a  63 74 69 6d 65 06 3b 00  |.EFi.I".ctime.;.|
00000020  46 6c 2b 07 53 04 ae 51  49 22 0a 61 74 69 6d 65  |Fl+.S..QI".atime|
00000030  06 3b 00 46 6c 2b 07 71  22 ae 51 49 22 0f 73 65  |.;.Fl+.q".QI".se|
00000040  73 73 69 6f 6e 5f 69 64  06 3b 00 46 49 22 25 37  |ssion_id.;.FI"%7|
00000050  39 39 63 37 30 37 32 65  33 36 30 62 62 31 38 34  |99c7072e360bb184|
00000060  37 35 30 66 32 34 37 32  63 34 38 66 64 36 30 06  |750f2472c48fd60.|
00000070  3b 00 54 49 22 10 5f 63  73 72 66 5f 74 6f 6b 65  |;.TI"._csrf_toke|
00000080  6e 06 3b 00 46 49 22 31  70 43 35 59 6e 39 42 70  |n.;.FI"1pC5Yn9Bp|
00000090  56 4b 74 73 6f 54 69 37  57 73 44 47 4c 7a 61 4c  |VKtsoTi7WsDGLzaL|
000000a0  44 76 62 59 31 4a 5a 4c  69 4b 4a 56 38 52 33 73  |DvbY1JZLiKJV8R3s|
000000b0  76 57 59 3d 06 3b 00 46  49 22 0a 71 75 65 72 79  |vWY=.;.FI".query|
000000c0  06 3b 00 46 7b 09 3a 0f  70 72 6f 6a 65 63 74 5f  |.;.F{.:.project_|
000000d0  69 64 69 40 3a 0c 66 69  6c 74 65 72 73 7b 06 49  |idi@:.filters{.I|
000000e0  22 0e 73 74 61 74 75 73  5f 69 64 06 3b 00 46 7b  |".status_id.;.F{|
000000f0  07 3a 0d 6f 70 65 72 61  74 6f 72 49 22 06 6f 06  |.:.operatorI".o.|
00000100  3b 00 46 3a 0b 76 61 6c  75 65 73 5b 06 49 22 00  |;.F:.values[.I".|
00000110  06 3b 00 46 3a 0d 67 72  6f 75 70 5f 62 79 30 3a  |.;.F:.group_by0:|
00000120  11 63 6f 6c 75 6d 6e 5f  6e 61 6d 65 73 30 49 22  |.column_names0I"|
00000130  16 69 73 73 75 65 73 5f  69 6e 64 65 78 5f 73 6f  |.issues_index_so|
00000140  72 74 06 3b 00 46 49 22  0c 69 64 3a 64 65 73 63  |rt.;.FI".id:desc|
00000150  06 3b 00 46                                       |.;.F|
00000154