Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dostop do baze, predloge, uvoz podatkov #2

Closed
jaanos opened this issue May 31, 2018 · 0 comments
Closed

Dostop do baze, predloge, uvoz podatkov #2

jaanos opened this issue May 31, 2018 · 0 comments

Comments

@jaanos
Copy link

jaanos commented May 31, 2018

Vidim, da v projekt.py uvažata podatke za prijavo iz auth.py. Ker želita, da bo aplikacijo lahko uporabil kdorkoli, tam torej uvozita auth_public.py. auth.py seveda uvozita v skriptah, kjer ustvarjata tabele in uvažata podatke. Seveda bo potrebno nastaviti tudi ustrezne pravice - poglejta si pdurcik/Baza-clanstva-RDR#3.

Trenutno imata na repozitoriju mapo View (z veliko začetnico). bottle.py pričakuje, da so predloge v mapi views (male črke), tako da mapo preimenujta, ali pa ustvarita novo z vašimi predlogami.
Velikost črk datotek in map je namreč pomembna na nekaterih sistemih (npr. Linux).

Opažam še, da v SQL/sql.py pripravita datoteko s stavki SQL, pri tem pa naredita to:

text = 'INSERT INTO uporabnik (id, ime) VALUES ({}, \'{}\');\n'.format(id,ime_uporabnika)

Kljub temu, da se pri izvajanju skripte stavek samo zapiše v datoteko, pa lahko pri izvajanju vseeno pride do napadov SQL injection (pravzaprav je to pri vstavljanju preko spletnega vmesnika še bolj nevarno, saj ta dejansko omogoča izvedbo več stavkov hkrati). Zato svetujem, da se v skripti neposredno povežeta na bazo s psycopg2 in stavek izvedeta z ustrezno uporabo metode execute, npr.

cur.execute('INSERT INTO uporabnik (id, ime) VALUES (%s, %s);', [id, ime_uporabnika])

V skripti bi bilo smiselno tudi preveriti, ali se je katero uporabniško ime že pojavilo (npr. vzdržujeta množico že dodanih uporabniških imen) in ga v tem primeru ne še enkrat dodati.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants