NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Cookies

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
pgarsky
Člen
Avatar
pgarsky:20.9.2016 21:36

Čau, potřeboval bych vědět, jak načíst z prohlížeče nějaký soubor cookie následujícím způsobem. Prostě dejme tomu, že mám svůj web, a chci, aby se reklamy o nábytku zobrazovaly lidem, co hledali ve vyhledávači nábytek. Atd. Chápete ?
Děkuji.

Odpovědět
20.9.2016 21:36
Pokud ti něco jde těžko, znamená to, že jdeš tou správnou cestou...
Avatar
Odpovídá na pgarsky
Neaktivní uživatel:20.9.2016 21:39

Nějaký soubor cookie v php načteš z globálního pole $_COOKIE. Nicméně v cookies nenajdeš, co lidi hledali.

Nahoru Odpovědět
20.9.2016 21:39
Neaktivní uživatelský účet
Avatar
pgarsky
Člen
Avatar
Odpovídá na Neaktivní uživatel
pgarsky:20.9.2016 22:09

A jak se to teda dělá ?

Nahoru Odpovědět
20.9.2016 22:09
Pokud ti něco jde těžko, znamená to, že jdeš tou správnou cestou...
Avatar
Odpovídá na pgarsky
Josef Kuchař - Pepa489:20.9.2016 22:31

Takhle to nefunguje, ty si na web hodíš iframe nebo obrázek vygenerovaný například od googlu, který má svůj reklamní systém. Ten ti potom na tvůj web dává personifikované reklamy a jaké to budou to moc neovlivníš ;)

Nahoru Odpovědět
20.9.2016 22:31
2x piš, jednou debuguj
Avatar
pgarsky
Člen
Avatar
Odpovídá na Josef Kuchař - Pepa489
pgarsky:21.9.2016 7:35

Nechci do toho plést Google reklamy. Chci svoje vlastní.

Nahoru Odpovědět
21.9.2016 7:35
Pokud ti něco jde těžko, znamená to, že jdeš tou správnou cestou...
Avatar
Jakub Žák
Člen
Avatar
Odpovídá na pgarsky
Jakub Žák:21.9.2016 12:30

Tak v tom případě si musíš udělat ještě svůj vyhledávač :D

To, co píšeš, samozřejmě nejde, historie prohlížení webu v cookies opravdu nenajdeš.

Nahoru Odpovědět
21.9.2016 12:30
Kuba je ajťák. Buď jako Kuba.
Avatar
Jakub Žák
Člen
Avatar
Odpovídá na Jakub Žák
Jakub Žák:21.9.2016 12:31

Adwords apod. fungují tak, že berou data z vyhledávače + mají svoje skripty na téměř každém webu (a ty ukládají info právě pomocí cookies) - díky tomu si dokážou vytáhnout přibližnou "historii".

Nahoru Odpovědět
21.9.2016 12:31
Kuba je ajťák. Buď jako Kuba.
Avatar
pgarsky
Člen
Avatar
Odpovídá na Jakub Žák
pgarsky:21.9.2016 13:55

Aha, dobře. A když by třeba nějaké údaje uvedl do nějakého pole na webu, jak ty údaje vytáhnu a podle nich vložim reklamu?

Nahoru Odpovědět
21.9.2016 13:55
Pokud ti něco jde těžko, znamená to, že jdeš tou správnou cestou...
Avatar
Dominik Milaniak:21.9.2016 14:01

Poked to chápu dobře, tak normální prací s formulářem - tzn. post, cookie, session, cokoliv :)
Pokud to myslíte nějak jinak, tak se omlouvám.

Editováno 21.9.2016 14:02
Nahoru Odpovědět
21.9.2016 14:01
99 bugs in the code, take one down and patch it up. 117 bugs in the code..
Avatar
Odpovídá na Dominik Milaniak
Dominik Milaniak:21.9.2016 14:10

Pak už jen mít asi udělané, že pokud uživatel zadá určité fráze, vyhodí mu to určitou reklamu.

Nahoru Odpovědět
21.9.2016 14:10
99 bugs in the code, take one down and patch it up. 117 bugs in the code..
Avatar
pgarsky
Člen
Avatar
Odpovídá na Dominik Milaniak
pgarsky:21.9.2016 18:17

No a jak na to ?

Nahoru Odpovědět
21.9.2016 18:17
Pokud ti něco jde těžko, znamená to, že jdeš tou správnou cestou...
Avatar
Odpovídá na pgarsky
Josef Kuchař - Pepa489:21.9.2016 18:24

Ale k čemu reklamy, které nebudou nic vydělávat?

Nahoru Odpovědět
21.9.2016 18:24
2x piš, jednou debuguj
Avatar
pgarsky
Člen
Avatar
Nahoru Odpovědět
21.9.2016 19:05
Pokud ti něco jde těžko, znamená to, že jdeš tou správnou cestou...
Avatar
Odpovídá na pgarsky
Josef Kuchař - Pepa489:21.9.2016 20:11

Ale od koho budeš získávat ty peníze?

Nahoru Odpovědět
21.9.2016 20:11
2x piš, jednou debuguj
Avatar
pgarsky
Člen
Avatar
Odpovídá na Josef Kuchař - Pepa489
pgarsky:21.9.2016 22:38

Od lidí. To teď prosím neřeš, už jsem domyslel, jak ty reklamy zpracuju, jen potřebuju vědět, jak udělat, aby se zobrazovaly třeba všem, co budou do vyhledávače na tom mém eebu zadávat třeba stůl, tak se jim zobrazí reklamy, co mají něco společného se stolem.

Nahoru Odpovědět
21.9.2016 22:38
Pokud ti něco jde těžko, znamená to, že jdeš tou správnou cestou...
Avatar
Odpovídá na pgarsky
Josef Kuchař - Pepa489:21.9.2016 23:07

Budeš mít v databázi tabulku, kde bude: ID, token, poslední hledaný výraz(pro jednoduchost). A potom když někdo přijde na web, tak zkontroluješ jestli má uložený token, když ano tak zkontroluješ jestli je v databázi záznam, pokud ano tak mu zobrazit reklamu podle sloupce poslední hledaný výraz. Když bude někdo něco vyhledávat, tak zapíšeš/přepíšeš poslední hledaný výraz s příslušným tokenem. Snad to chápeš :)

Nahoru Odpovědět
21.9.2016 23:07
2x piš, jednou debuguj
Avatar
pgarsky
Člen
Avatar
Odpovídá na Josef Kuchař - Pepa489
pgarsky:22.9.2016 7:06

Takže reklama je podle toho, co hledal jako poslední? A co je to ten token?

Nahoru Odpovědět
22.9.2016 7:06
Pokud ti něco jde těžko, znamená to, že jdeš tou správnou cestou...
Avatar
Odpovídá na pgarsky
Josef Kuchař - Pepa489:22.9.2016 17:09

Ten si náhodně vygeneruješ, prostě směsice alphanumerických znaků, příklady:

5CAVCMAbUvlPzNq30VIL
2sGbaBwh2vI83kqbvHQ8
gb3IpsfHGncmBrV4r2wb
561z1rdgwJrK8WFDX4Tv
0ogHAUE05XCnHMCZ6Nc2
ETAkvGUFECqh3rAkJ5Mr
qlgNK4UbI6ecy9ZbO0TF
VSWiGAUT0COgGrx2IQPY
rLCjeDW5Qalk0X935Juy
53H7RA4fKlayV6pa1aCs
;)
Nahoru Odpovědět
22.9.2016 17:09
2x piš, jednou debuguj
Avatar
Odpovídá na pgarsky
Josef Kuchař - Pepa489:22.9.2016 17:11

No tak můžeš si to nějak vylepšit, třeba budeš hledat to, co je nejvíce hledané od určitého uživatele(tokenu)

Nahoru Odpovědět
22.9.2016 17:11
2x piš, jednou debuguj
Avatar
Dominik Milaniak:22.9.2016 17:38

Myslím, že by bylo namístě si to nechat naskriptovat od někoho zkušenějšího :)

Nahoru Odpovědět
22.9.2016 17:38
99 bugs in the code, take one down and patch it up. 117 bugs in the code..
Avatar
Odpovídá na Dominik Milaniak
Josef Kuchař - Pepa489:22.9.2016 17:41

Taky si říkám, ale když chce vědět nástřel základního principu, tak proč mu to nenapsat, že :)

Nahoru Odpovědět
22.9.2016 17:41
2x piš, jednou debuguj
Avatar
pgarsky
Člen
Avatar
Odpovídá na Dominik Milaniak
pgarsky:22.9.2016 17:52

Když bych to udělal takhle, tak se nic nenaučím.

Nahoru Odpovědět
22.9.2016 17:52
Pokud ti něco jde těžko, znamená to, že jdeš tou správnou cestou...
Avatar
Odpovídá na pgarsky
Josef Kuchař - Pepa489:22.9.2016 18:59

Vážně by mě zajímalo, k čemu ti budou reklamy, za které nic nedostaneš :)

Nahoru Odpovědět
22.9.2016 18:59
2x piš, jednou debuguj
Avatar
pgarsky
Člen
Avatar
Odpovídá na Josef Kuchař - Pepa489
pgarsky:22.9.2016 21:10

Už jsem jednou psal, že dostanu.

Nahoru Odpovědět
22.9.2016 21:10
Pokud ti něco jde těžko, znamená to, že jdeš tou správnou cestou...
Avatar
krepsy3
Tvůrce
Avatar
Odpovídá na Josef Kuchař - Pepa489
krepsy3:22.9.2016 21:21

Řekl bych k tomu asi tolik:

  1. Můžou to být specifické reklamy, pro daný web. Je to jeho dílo, avyplepšené tím, že mu z něj kápnou peníze. Je tedy asi jedno polemizovat nad tím, k čemu mu to bude.
  2. Podle vaší konverzace zřejmě nepochopil, jak to myslíš s těmi tokeny, takže ještě jednou pro něj:
  1. uživatel přijde na web
  2. server načte unikátní token uživatele z cookie - pokud neexistuje, přidělí mu nový.
  3. Z databáze vyhodí příslušnou reklamu podle historie vyhledávání uživatele, pokud uživatel ještě nic nehledal, zobrazí třeba nějakou náhodnou či neutrální reklamu.
  4. Při každém vyhledávání je na server také poslán token uživatele, takže server uloží k příslušnému uživateli jeho hledaný výraz do historie hledání
  5. Protože Cookies bývají mazány (a těžko tomu zabránit), vymazával bych uživatele, pokud by web nenavštívili např. půl roku.
  6. Také bych k uživateli ukládal IP adresu, pokud by smazal cookies, dal by se poznat podle IP
Nahoru Odpovědět
22.9.2016 21:21
Programátor je stroj k převodu kávy na kód.
Avatar
Petr Šťastný
Tvůrce
Avatar
Odpovídá na krepsy3
Petr Šťastný:22.9.2016 21:30

Bod VI: Takze ty budes nekam do SQL databaze jeste ukladat (navic k cookies) zaznam uzivatele s jeho IP? Neni to zbytecny? Nestaci ty cookies? Nehlede na to, ze IP uzivatele se muze zmenit...

 
Nahoru Odpovědět
22.9.2016 21:30
Avatar
pgarsky
Člen
Avatar
Odpovídá na krepsy3
pgarsky:22.9.2016 21:57

A jak by vypadala struktura Tvého kódu ?

Nahoru Odpovědět
22.9.2016 21:57
Pokud ti něco jde těžko, znamená to, že jdeš tou správnou cestou...
Avatar
Neaktivní uživatel:23.9.2016 9:39

Na IP se nedá spoléhat.Hlavně kvůli tomu, že dnes je většina IP koncových zařízení sdílená (přistupují přes routery nebo proxy, případně adresu sdílí už na úrovni ISP).
Token v cookie oproti tomu celkem přesně identifikuje určité zařízení. Úmyslně to píšu takhle, protože i zařízení může být sdíleno více uživateli.

Nahoru Odpovědět
23.9.2016 9:39
Neaktivní uživatelský účet
Avatar
Odpovídá na pgarsky
Neaktivní uživatel:23.9.2016 9:47

Při příchodu uživatele, zkontroluj existenci cookie tvého webu a zda obsahuje platný token.

Pokud:

  • je cookie a má platný token, zobraz personalizovanou reklamu
  • není cookie zobraz univerzální reklamu, vygeneruj nový token a vytvoř cookie s ním
  • je cookie s neplatným tokenem zobraz univerzální reklamu, vygeneruj nový token a ulož ho do cookie

Do databáze si ukládej krom tokenu dobu platnosti po jejímž uplynutí záznam smaž a zneplatni tím token.

Editováno 23.9.2016 9:48
Nahoru Odpovědět
23.9.2016 9:47
Neaktivní uživatelský účet
Avatar
krepsy3
Tvůrce
Avatar
Odpovídá na pgarsky
krepsy3:23.9.2016 14:21

Algoritmus jsem popsal. Bohužel nedělám s PHP ani databázema, takže nedokážu bejt konkrétnější. Každopádně Petr Linhart k tomu napsal svůj postřeh, který mi zní jednoznačně logicky. Je fakt, že ta IPina není spolehlivá. Takže jen ta cookie bude asi OK.

Nahoru Odpovědět
23.9.2016 14:21
Programátor je stroj k převodu kávy na kód.
Avatar
pgarsky
Člen
Avatar
Odpovídá na krepsy3
pgarsky:25.9.2016 8:33

Akorát já pořád nechápu, k čemu je ten token.

Nahoru Odpovědět
25.9.2016 8:33
Pokud ti něco jde těžko, znamená to, že jdeš tou správnou cestou...
Avatar
Petr Šťastný
Tvůrce
Avatar
Odpovídá na pgarsky
Petr Šťastný:25.9.2016 8:55

Do cookies si ulozis unikatni vygenerovany string (tzv Token). Pak mas v DB seznam tokenu a u nich nejake info o uzivateli. Je to lepsi, nez psat (to info) do cookie, protoze si je uzivatel v cookie muze pozmenit

Editováno 25.9.2016 8:56
 
Nahoru Odpovědět
25.9.2016 8:55
Avatar
krepsy3
Tvůrce
Avatar
Odpovídá na pgarsky
krepsy3:25.9.2016 9:48

Token je vlastně string (náhodně vygenerovaný, např "fpopj1i46hoid7zd"), kterým reprezentuješ daného uživatele. Tento string je uložen v cookie u uživatele. Stejně Tak ho máš i v databázi, kde si k němu zapíšeš historii hledání a podle toho zobrazíš příslušnou reklamu. Token je vlastně "jméno" daného uživatele.

Nahoru Odpovědět
25.9.2016 9:48
Programátor je stroj k převodu kávy na kód.
Avatar
pgarsky
Člen
Avatar
Odpovídá na krepsy3
pgarsky:25.9.2016 13:54

Děkuji, už chápu, a jakým způsobem bych mohl generovat takový token? Prosím zdroják, nebo odkaz, kde bych ho našel, děkuji :)

Nahoru Odpovědět
25.9.2016 13:54
Pokud ti něco jde těžko, znamená to, že jdeš tou správnou cestou...
Avatar
krepsy3
Tvůrce
Avatar
Nahoru Odpovědět
25.9.2016 15:18
Programátor je stroj k převodu kávy na kód.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 36 zpráv z 36.