Autor Zpráva
Marti_n
Profil
Dobrý deň,

Chcem spustiť jeden web, myslel som si, že mám všetko zabezpečené od Sql injection po SESSION hack, ale včera som si zapol v mozille javascriptový editor v ktorom môžete dat príklad alert(test); a urobí vám to na stránke, asi to poznáte. Mám funkciu ktorou ako administrátor vymazávam komentáre, ide to cez ajax a funkcia je delete_coment(id); , napísal som do toho editoru, že delete_coment(1); a vymazalo mi prvý komentár, bez toho aby som bol prihlásení ako administrátor. Moja otázka znie či sa ten editor dá nejako zakázať? Už som to tak vyriešil, že v tom ajaxovom súbore kontrolujem, či užívatel má právo na vymazanie komentáru , ale je to o 1 dotaz viac na databázu, tak preto sa pýtam.

Ďakujem za odpovede.
xROAL
Profil
Tzv. JavaScriptovú konzolu (resp. ten editor) má každý slušný prehliadač a neexistuje spôsob akým ju zakázať. Všeobecne neexistuje spôsob akým môžeš ovplyvniť správanie prehliadača mimo rozsah tvojej stránky.

Marti_n:
Už som to tak vyriešil, že v tom ajaxovom súbore kontrolujem, či užívatel má právo na vymazanie komentáru , ale je to o 1 dotaz viac na databázu, tak preto sa pýtam.
1 dotaz navyše ťa rozhodne nezabije a databázu nezničí. JavaScript môže byť zakázaný, dá sa ľahko zmeniť, a vidí ho každý návštevník - v otázke bezpečnosti a zabezpečenia sa na JavaScript nemôžeš spoliehať, akákoľvek kontrola musí prebiehať na serveri.

Keby si danú konzolu teoreticky aj nejakým spôsobom zablokoval, stále si môžem v kóde pozrieť aký súbor sa týmto ajaxom volá a otvoriť ho priamo - ak v ňom nebude žiadna ochrana, tak ti ani zakázanie tejto konzoly nepomôže.
pcmanik
Profil
Marti_n:
Načo ďalší dotaz? Veď keď sa užívateľ prihlási ako administrátor, tak mu asi vytváraš session tak prečo pri mazaní len neoveríš či tá session existuje? Resp. si môžeš do ďalšej session pri prihlasovaní uložiť či je užívateľ administrátor a potom to len overovať.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

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