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


Zobrazeno 17 zpráv z 17.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.


můžeš to uložit do $_SESSION ... nemusíš nutně používat soubor ani databázi
taky se takovému skriptování zabraňuje pomocí captcha obrázků a podobných těžko oscriptovatelných klikátek
Klasické CSRF viz.: https://cs.wikipedia.org/…uest_forgery
Ochrana proti tomuto je většinou generováním náhodného autorizačního tokenu, ovšem i to není 100%.
Dá se to využít jak na akce závislé odkazech tak i formulářích.
jirka jr - sessions se mi zatím vyhnuly - - nastuduji a asi použiji
uživatel sítě - v podstatě to, co jsem složitě popsal já, vyjádřeno
slovy "csrf" a "autorizační token" 
Takže víš co máš dělat.. 
Vygenerovat ho, umístit to skrytého inputu ve formuláři a kontrolovat ho.

ano, jen jsem chtěl jinou metodu, než vlastní systém milionu souborů

Nu, de-facto sessions jsou také miliony souborů (Dle návštěvnosti webu
samozřejmě.), ale server se o to stará sám. Takže v tomto případě je
opravdu vhodné použít.. 
(což umí brzdit, když tam těch nepoužitých autorizačních souborů bude třeba v řádu tisíců - každý projít, přečíst a některé smazat)
Ono by se to dalo resit i pomoci js. Do skryteho inputu vlozis nejaky kod zalozeny na datumu a mozna i ip, ktery bude platny 5 min. V php ho pak dekodujes. Nevyhoda, ten js se da rozlustit a posilat pak i pres php platne kody.
už jen z hecu.. takže 1) aby někdo provedl CSRF, musí si prohlédnout
html zdroj, aby věděl, jaká data má posílat, a tam si jistě všimne hidden
políčka a taky volání onsubmit, takže ani nemusí nic luštit a rovnou se
na ten js podívá a zkopíruje si ho 2) kdybych si na úrovni serveru
uchovával nějakou informaci o tom, jaký kód už byl použit a znovu bych ho
nepovolil, může se mi stát, že mi dva uživatelé na stejné veřejné ip a
klidně i stejné vnitřní ip (veřejná ip společná pro celý dům a každý
má doma ten stejný router od poskytovatele a tudíž má stejně nastavenou
lan) pošlou ve stejný čas formulář a jeden z nich bude mít smůlu, to by
možná šlo vyřešit přidáním náhodné sekvence někam do toho auth.
kódu, ale tím pádem je mi zbytečné zase uchovávat informaci o použitých
kódech; 3) ikdyby to nebylo pět minut, ale méně, třeba půl minuty, a CSRF
útočník by byl tak hloupý a nezkopíroval si javascript, tak mu stačí si
ten platný kód odchytit a použít a než VYPRŠÍ, stihne klidně odeslat
stovky formulářů samosereloadujícím nebo do iframů se množícím
spamovacím skriptem; méně než půl minuty bych ale nevolil - pro případ
nějakého výpadku konektivity mezi klientem a serverem; 4) sláva - máme
hotové spolehlivé a lety ověřené řešení a ty přijdeš a navrhneš
řešení nefungující minimálně z důvodů 1), 2) a 3) a v záchvatu
sebereflexe - místo neodeslání blábolu, zavření tabu a jití se
věnování něčemu rpzumnému - k němu připíšeš nesmyslný důvod, proč
to tak nedělat. Mohu poradit - neraď a uč se moudrým býti 
CSFR jde obejít i pokud ošetřuješ na straně serveru. Proto můj poznatek
v předchozím příspěvku, že ochrana není 100% (Jistě na vše to tak
platí.), ale útočníka to zpomalí či omezí chceš-li.
Samozřejmě, že neobhajuji řešení pomocí JS, v tomto případě je zcela
nesmyslné a základ je mít vždy ochranu na straně serveru jako přednostní.
JS řešit až v případě kdy je hotova serverová část.. Btw web by měl
být 100% funkční bez JS..
Také vázat autorizační tokeny na IP je blbost. Takže řešit zda se připojí někdo ze stejné IP ve stejný moment je zcela irelevantní..
Ono, jde nachystat pasticku. Pouzit obe reseni. Session + js. Zkontrolovat
oba vysledky. Pokud to hacker zkusi obejit, muzes si to do logu poznacit jako
podezrelou aktivitu. Ale hackeri jsou vetsinou chytrejsi 
a von to udělá zas, napíše nějakou blbost a vyloučí si ji
hele, hackere, hraj si chvilku s
tímhle:
http://pupek.wz.cz/…r/index.html
jestli se ti povede odhalit nějaké nekorektní chování nebo propašovat do výstupu třeba nějakej script, dej echo, chci aby při ostrém nasazení fungoval bezchybně
Hmm, proč ho napadáš? Řešíme snad ochranu proti CSFR a né vkládání
externího JS do obsahu stránky.. 
napadání imho vypadá trošku jinak, spíš bych se pozastavil nad psaním nepřínosných příspěvků, ale zase v něm vidím elán a chuť nacházet neobvyklá řešení, tak mě napadlo, že by byl dobrej betatester pro html parser -- tak proč toho nevyužít - byl položen dotaz a byl vyřešen, pokud se někomu chce diskutovat dále - třeba i o mimozemšťanech - nevidím problém
Zobrazeno 17 zpráv z 17.