2) U toho SQL si poradne prohlednete JDBC - takhle se dotazy nepisou, misto hodnoty se do dotazu pise "?" a pomoci PreparedStatement.set* se za otaznik doplni hodnota. O slashovani se postara prislusny JDBC driver. Uplne nejlip se ale primemu pouziti JDBC vyhnete a zvolte nejaky framework na nim treba iBatis. Nebo zvazte pouziti Hibernate.
6) Tady: http://randomcoder.com/articles/jsessionid-considered-harmful se popisuje, jak se vyhnout tomu, ze se session ID muze predavat take pres URL a ne jen pomoci cookies - tomu se asi chcete vyhnout. Moje skromna rada rika - nesnazte se venovat pozornost prehnane kontrole zaslanych parametru - potrebujete spis jasne definovanou vrstvu business logiky, ktera si kontroluje jestli ma volajici prava danou metodu s danymi argumenty spustit. No a pak staci dukladne osetrit pouze to, jakym zpusobem nekdo nabyde svoji identitu v systemu - login, ukradnuti session, funkce prihlasit navzdy, ... Jestli se poak pokusi udelat neco na co nema prava, osetri to ta vase bussines vrstva. Az budete mit hotove tohle, venujte se tresnickam na dortu, jako je treba 6). On 10/21/07, Ivan 596 <[EMAIL PROTECTED]> wrote: > > Ranko, > > mohol by sa prosim nejaky bezpecnostny specialista podelit o kroky > PROGRAMATORA pre bezpecnu java web aplikacie? > > Uvediem svoje (aplikacia je klasicky java-web, jsp, servlet, EE ziadne, > mozno neskor, Struts): > > 0. Prihlasovanie odosielane cez POST-metodu :-) > 1. SSL sifrovana komunikacia (to ale asi nie je programtorova starost...) > 2. Osetrenie formularovych vstupov > - pre SQL (ak mam v programe kazdy parameter osetreny > apostrofmi:String dotaz = "SELECT * FROM nieco WHERE id='" + id "', staci > vlastne len nepovolit vo formularovom vstupe jediny znak: apostrof?) > - treba pre nieco ine osetrovat formularove vstupy, ktore sluzia len > databaze? > 3. Kazda stranka (okrem prihlasovacej) na zaciatku testuje ci existuje > session s id uzivatela, teda iba uz prihlaseny mozu pristupovat > 4. Testovanie vsade, kde sa neocakvaju GET parametre, ci je metoda POST > 5. Osetrovanie parametrov, napr. ak ocakavam jediny, nieco ako if ( ( > request.getParameterMap().size!=1) spolu s testovanim presneho mena a > hodnoty > > > oplati sa este nieco?? > -- S pozdravem, Tomas Zverina Multimedia atelier s.r.o. Na Dolinách 4 147 00 Praha 4 IČO: 25127071 tel.: 241 433 120 e-mail: [EMAIL PROTECTED] http://www.m-atelier.cz/ Společnost Multimedia atelier s.r.o. je zapsána u rejstříkového soudu v Praze, oddíl C, vložka 51961.
