Diskuze: Validácia dát z databáze
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 6 zpráv z 6.
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.
Co máš přesně na mysli tím "validovat"? Do databáze by se měla
ukládat surová data (tzn. v tom stavu, v jakém byla zaslána) a na výstupu
je ošetřit třeba proti XSS.
Nevím, jak to dělají ostatní databáze, ale MySQL mi vždycky vrací hodnotu
typu string (i když je sloupec typu INT), tak snad jedině přetypovat, pokud s
tím děláš nějaké mat. operace. Jinak mě nic nenapadá.
No, dajme tomu, že pre stĺpec XXX nechcem, aby v ňom boli hodnoty kratšie
ako napr. 12 znakov.
Údaj, ktorý pôjde do tohto stĺpca, pochádza od užívateľa, preto ho
najprv zvalidujem, či neobsahuje menej ako 12 znakov, až potom vložím do
databáze.
Napadlo ma, čo ale ak mi niekto po vložení platnej hodnoty vlezie do administrácie databázy, a ručne tam tú hodnotu zmení napr. na 7-znakov dlhú, čiže podľa logiky mojej aplikácie na neplatnú.
Možno je to až príliš paranoidné, neviem posúdiť, preto sa pýtam na
názor, či sa oplatí tie dáta kontrolovať, aj keď ich z databáze ťahám,
aby som vedel rozlíšiť neplatný stav a zariadiť sa podľa toho 
Otázka je, proč by ti někdo lezl do databáze a hlavně, jak by se tam
dostal. 
Já osobně validuji jen v případě, že ta data ukládám, poté už
předpokládám, že budou ve správné podobě. Cizí člověk by se do
databáze dostat neměl a člověk s pravomocemi by neměl udělat takovou
blbost, jako je úmyslná manipulace s daty (měly by na to jít udělat
nějaké podmínky, které když někdo poruší, může být i trestně
stíhán).
Tak fajn,
ďakujem 
Napadlo ma to iba ako možnosť "reportnutia"(mailom) podozrivej zmeny v
DB,
aby som vedel, že som niekde v zabezpečení urobil chybu 
Je to jen můj názor a mé řešení, takže je dost možné, že se to dělá jinak (koneckonců já nemám zkušenost s nějakým větším nebo komerčním projektem).
Někde jsem četl, že při ostrém provozu by se na data v DB nemělo sahat
pomocí programů jako je phpMyAdmin, snad kvůli tomu, aby tam někdo (byť jen
nějakým "uklikem") neudělal nějaký bordel (třeba něco nesmazal apod.),
ale pracovat s daty jen s pomocí vlastního scriptu, který zařídí, aby tam
nikdo bordel neudělal.
Např. když budeš mít nějakého admina na správu stránky, kde běží
nějaké CMS, tak by neměl mít přístup přímo do databáze, ale měl by
mít možnost pracovat jen s určitými nástroji, které zařídí, aby
neudělal nějakou kritickou blbost.
Zobrazeno 6 zpráv z 6.