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.

Člen

Zobrazeno 6 zpráv z 6.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
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.