Autor Zpráva
ZdenoChupac
Profil
Zdravim

je mozne s cistym JS pracovat s databazou uz hodiny hladam nieco ale myslim ze nic take neexistuje

Chcem si urobit podstranku s apkou, kde budem mat nejeke udaje, zakaznici, zakazky, ucty...

zaujima ma ze ak teba nepojde icsty JS s databatou, ci mozem pouzit JSON ako databazu a ci to je bezpecne?

Dakujem za odpovede
Kajman
Profil
Data na serveru nemůže javascript přímo v prohlížeči ukládat. Může je poslat na server např. ve formátu JSON a tam musí být program, který je ověřuje, zpracovává a ukládá. Pokud se Vám dobře programuje v javascriptu, tak můžete programovat i serverovou část v něm, pokud najdete hosting např. s podporou node.js.
juriad
Profil
Budu uvažovat zpočátku jen SQL databáze. I kdyby to bylo možné, tak by to byla ohromná bezpečnostní díra. Jelikož JS zpravidla běží v prohlížeči, mohl by si kdokoli upravit ten skript a posílat si do databáze libovolné dotazy: seznam všech objednávek, seznam všech zákazníků, emaily a zahashovaná hesla, historie prodejů všech produktů. Jistě si dokážeš představit, že tato data jsou cenná ať už pro vydírání nebo pro konkurenci. Mohl by nejspíš i upravovat data v té databázi - přecenit, smazat.

Obecně přemýšlej o tom, že cokoli se děje v prohlížeči je z pohledu serveru nebezpečné a nedůvěryhodné. Server vždy musí zkontrolovat každý požadavek, protože kterýkoli z nich může být vadný. (Upravil někdo skript, aby dovolil záporný počet kusů v objednávce? Poslal někdo novou objednávku s jiným userId, ale se svou adresou? Uhádnul někdo adresu pro mazání produktů?)

Pokud chápu správně, co myslíš použitím JSON jako databází, tak to je možné, a má to tyto vlastnosti:
* celá databáze je veřejná
* databáze může mít poměrně malá, spíše tisíce než miliony položek
* databáze je pouze pro čtení - jakákoli změna v JS se neuloží
* změny databáze můžeš provádět pouze změnou JSON na serveru

Pokud jde o výsledky fotbalových zápasů, tak asi ok; pokud jde o eshop, tak to není dobré řešení.

Jsou ještě řešení, která umožňují přeskočit server a komunikovat s databází napřímo. Jedno z populárních je Firebase. Umožňuje ti definovat databázovou strukturu (není to ale SQL), a pak s tou databází přímo pracovat ze skriptu v prohlížeči. Jde tam zajistit přihlašování uživatelů a kontrola jejich rolí.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0