IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: jiné pojetí eshopu ..... je špatné?

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

Aktivity
Avatar
joshiko
Člen
Avatar
joshiko:7.3.2018 17:43

Jsem amatér začátečník. Udělal jsem si takový malý CMS, do cookies se ukládá pouze identifikátor. Žádné session ani JS. Vše se ukládá do MySQL (promazává se CRONem). Klient si ukládá věci do košíku. Pokud si nesmaže cookies (expirace rok), tak při další návštěvě se mu zobrazí poslední stav košíku a formuláře s fakturačními údaji.

Pokud objedná, přijde mu s potvrzením objednávky odkaz (v URL je identifikátor). Kliknutím na odkaz se dostane na stránky s posledním stavem košíku, formuláře s fakturačními údaji a má zavedenou nějakou slevu. Odkaz nemusí využít, může objednávat znovu se stejnými údaji, jako zadal posledně.

Samozřejmě testuji, zda identifikátor poslaný GETem je platný. Po překročení limitu chybných identifikátorů se odkazy na 24hodin zablokují = navážou se na IP adresu, z které byl „profil“ posledně vytvořen…. Formuláře na webu jsou testované proti botům…..

Přijde mi to jako fajn řešení, neřeším přihlášení, registraci, hesla. Web má specializovaný sortiment pro firmy. Vidíte v tom nějaký nedostatek, zádrhel, …. ?
Dík

 
Odpovědět
7.3.2018 17:43
Avatar
Šimon Rataj
Člen
Avatar
Šimon Rataj:7.3.2018 18:29

Já v tom nic špatného nevidím, CRON a limit chybných identifikátorů to zabezpečují dostatečně (pokud je identifikátor dost dlouhý, min. 5 znaků).

 
Nahoru Odpovědět
7.3.2018 18:29
Avatar
Odpovídá na Šimon Rataj
Martin Štěpánek :7.3.2018 18:47

Já bych to viděl alespoň na 9, ale to je jen detail :-` :-D

Nahoru Odpovědět
7.3.2018 18:47
Všechno jde naprogramovat, chce to jen čas a chuť...
Avatar
joshiko
Člen
Avatar
joshiko:7.3.2018 20:20

Děkuji za názor. Mám 12 znaků: bin2hex(random_by­tes(6))

Mě to přijde jako výborně řešení, lidé se nemusí registrovat, přihlašovat, pamatovat hesla. Proto mě znervózňovalo, proč není tento postup rozšířený, že musí mít nějakou slabinu, o které nevím...

Bojuji už jen s tím, že když nepoužívám JS, tak košíky mám jako input submit a tedy po vložení do košíku, se stránka znovu načte a klient je na začátku stránky :-( Už jsem dával dotaz tady do fóra, a čistě v php to asi nepůjde řešit. Musím se ještě naučit JS :-(

Ještě jednou dík za názory......

 
Nahoru Odpovědět
7.3.2018 20:20
Avatar
Odpovídá na joshiko
Erik Šťastný:8.3.2018 9:12

Nejsem webař, ale řešení se mi líbí, dost se mi právě nelíbí když se podívám na cookies a tam je milion řádků o něčem co nemám ponětí co ani znamená. Takhle tam uvidím jen nějaké ID podle kterého si to vše uložíš u sebe, za mě paráda :)

 
Nahoru Odpovědět
8.3.2018 9:12
Avatar
Petr Čech
Tvůrce
Avatar
Petr Čech:8.3.2018 17:34

Já jsem webař a připadá mi to jako hrozné řešení.

  1. 12 znaků je málo, proč ne alespoň 32?
  2. Co má zákazník dělat, když si cookie smaže? Přijde o všechna data? Ano, teď možná o košík, ale třeba to budeš chtít rozšířit
  3. Session se používá, protože to je rychlé. Když se budeš na všechno ptát DB, bude ti postupně vznikat velký overhead
  4. Nelze nakupovat na více zařízeních pod stejným účtem, to by zrovna firemní zákazník chtít mohl
  5. Strašlivě si zaplácáš databázi, když nebudeš opatrný
Nahoru Odpovědět
8.3.2018 17:34
the cake is a lie
Avatar
joshiko
Člen
Avatar
joshiko:8.3.2018 19:03

ad 1) Při délce 12 znaků je cca 5E+18 možností, při délce 32 znaků cca 6E49 možností. Ano, je to silnější, ale má to smysl prodlužovat, když po např. 10 špatných pokusech dojde k blokaci?

ad 2) pokud se jedná o zákazníka, tak si cookies může smazat. má odkaz v emailu (nebo někde uložený) když na něj klikne, je na "svém účtu". když nemá odkaz ani cookies tak se dle mne žádné hrůza neděje, formulář si vypíše znova. pokud nepoužívá automatické vyplňování formulářů...

ad 3) to jsem netušil, dík. "bude ti postupně vznikat velký overhead" máš na mysli postupně zhoršující se stav v závislosti na bobtnající DB nebo tam je ještě něco jiného?

ad 4) pokud se ze zařízení dostane k emailu (nebo si email přepošle), tak má odkaz a má přístup k "účtu". je pohodlnější mít odkaz v oblíbených položkách/mailu a jenom kliknout než si pamatovat heslo a přihlašovat se.

ad 5) souhlasím, ale stačí dobře mazat.

děkuji ti za názory a postřehy

 
Nahoru Odpovědět
8.3.2018 19:03
Avatar
Lukáš Hornych
Tvůrce
Avatar
Odpovídá na joshiko
Lukáš Hornych:8.3.2018 19:10

No je sice pěkný, že když se dostaneš k emailu tak si to otevřeš kdekoliv, ale v tom případě to je uplně zbytečný nemít přihlašování, když se stejně musíš přihlásit nejdřív do emailu, pak to tam najít a až potom to můžeš používat. To si myslím, že je jednodušší teda se rovnout přihlásit na tu stránku. Pokud by nějaká správa účtu probíhala přes odkazy v emailu, tak se z toho časem stane akorát bordel (když to vezmu z pohledu, že by to používalo více stránek).

 
Nahoru Odpovědět
8.3.2018 19:10
Avatar
Lukáš Hornych
Tvůrce
Avatar
Odpovídá na joshiko
Lukáš Hornych:8.3.2018 19:15

Ještě mě tak napadá, že pokud by to používalo více stránek a měl bys to vše na emailu, tak hackerovi stačí zjistit jedny přihlašovací údaje a má přístup ÚPLNĚ ke všemu a to je podle mě docela průser.

 
Nahoru Odpovědět
8.3.2018 19:15
Avatar
Jakub Hýža
Člen
Avatar
Jakub Hýža:8.3.2018 21:31

Zní to pěkně ale v podstatě jsi znova vynalezl session. Já osobně bych dal přednost přihlášení přes Google nebo Facebook, to si myslím že je pro uživatele nejpohodlnější ale to je jen můj osobní názor.

Nahoru Odpovědět
8.3.2018 21:31
Sleep(); Eat();. Code(); Repeat();
Avatar
Odpovídá na joshiko
Neaktivní uživatel:9.3.2018 7:45

Jen btw. v dnešní době NATů si dávej pozor na blokování IP adres. Pod jednou IP může být třeba celá vesnice.

Nahoru Odpovědět
9.3.2018 7:45
Neaktivní uživatelský účet
Avatar
joshiko
Člen
Avatar
Odpovídá na Lukáš Hornych
joshiko:9.3.2018 8:07

"musíš přihlásit nejdřív do emailu"
Cílím na firmy. Se zapnutím PC najede i pošta. To není nějaký proces navíc.

"jednodušší teda se rovnout přihlásit na tu stránku"
To ano, jenže v praxi tu stránku už po roce neznáš. Nevíš, kde si nakoupil, konfirmační email alespoň já mažu po doručení zásilky. Nemám důvod si jej uchovávat. Odkaz, který v sobě integruje přihlášení a nějakou výhodu/slevu, cílí na pohodlnost, na 1 klik, zvyšuje pravděpodobnost, že konfirmační email zůstane ponechán a použije se místo opětovného výběru dodavatele na netu. Z hlediska marketingu podle mě dobrá věc.

"má přístup ÚPLNĚ ke všemu a to je podle mě docela průser."
Jak všude píšu, jsem naprostý amatér. Pořád mi ale uniká to bezpečnostní riziko. Jsem hacker, nabourám se do pošty firmy_A, a klikem na odkaz v emailu lehce vygeneruji falešnou objednávku. Na to ale nemusím být hacker, v jakkémoliv eshopu mohu udělat falešnou objednávku na firmu_A. Neděje se to, protože není motiv, proč by to někdo dělal. Bezpečností riziko je dle mě jen na straně firmy vystavující odkazy, aby ji někdo generováním odkazů nevybagroval dodavatele.

 
Nahoru Odpovědět
9.3.2018 8:07
Avatar
joshiko
Člen
Avatar
Odpovídá na joshiko
joshiko:9.3.2018 8:24

oprava: .... nevybragroval zákazníky

 
Nahoru Odpovědět
9.3.2018 8:24
Avatar
Neaktivní uživatel:9.3.2018 11:26

V dnešní době, lidi preferují nakupovat bez povinnosti registrace.
To že někdo vytvoří fake objednávku je úplně jedno, protože stejně tak by se někdo mohl zaregistrovat a uvést fake jméno a adresu.

PS: Mam e-shop který funguje na stejné logice(žádna registrace). Uživatel si uloží co chce do košíku(vše je v cookies dokud je nesmaže). Po dokončení objednávky dostane emailem odkaz kde může sledovat stav objednávky.

Nahoru Odpovědět
9.3.2018 11:26
Neaktivní uživatelský účet
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 14 zpráv z 14.