Konkretno sam pitao sta je sigurnije a ne sta u odredjenim slucajevima moze biti prakticnije.
Jasne su meni razne primene razlicitih nacina ali ne shvatam sta je sigurnije.
@Nemanja - Da, koristim IP, ali ako cu da pazim da li neko hoce da provali vodim se pre IP adresom nego korisnickim imenom.
@Ivan - Opet je prica IP i username a ne ID usera. Opet se svodi na to da mozes da obavestis korisnika da je neko pokusao da provali sifru na njegovom
nalogu ali to opet nije povecanje sigurnosti. Ovo sto kazes za google je kada je vec prosla lozinka.
Citat:
Predrag Supurovic: To je irelevantno. Sajt svakako ne smatra da je user onaj za koga se predstavlja dok ne ukuca tacnu lozinku.
Pretpsotvi da na sajtu hoces da uvedes mogucnsot blokiranaj usera koji neuspesko pokusa da se uloguje n puta. Zar nije prostije ako prilikom logina po useru izvuces podatke iz baze i takoutvrdis da username postoji i onda za taj username u bazi povecas neki brojac neuspesnih logina?
Ja bih pre vezao to za username a ne za user_id jer je onda ista procedura ako user postoji i ako ne postoji. Stvar ukusa i zahteva a ne sigurnosti.
Citat:
Predrag Supurovic:
Ili, ako hoces da za usera podesis ogranicenje da moze da se uloguej samo sa unapred definisanog niza IP adresa. Zar opet niej lakse da po usernameu izvuces te podatke pa onda primenjujes logiku dozvole pristupa, nego da sve to trpas u jedan SQL upit koji ovim psotje i prilicno komplikovan?
Opet ako ne prodje istovremeno provera lozinke i username onda opet necu proveravati IP dozvole. Ne vidim da je ista komplikovaniji sql kod. Cak je mozda i jednostavniji. I opet stvar ukusa i zahteva konkretnog problema i detalja a ne sigurnosti.
Citat:
Predrag Supurovic:
...logiku primenjujem na nivou PHP a ne MySQL-a pa tako islkjucujem mogucnosti injectiona.
Mogucnost SQL injectiona je iskljucena. Mislim jeste tvoj kod sigurniji ako naredba mysql_real_escape_string zataji ali to je prosto neverovatno a ako zataji onda ces imati milion rupa na drugom mestu pa tako da
opet mislim da nije sigurnije nista vec samo mozes da koristis neke opcije vezane za user_id sto je iskljucivo stvar da li ima potrebe ili nema i stvar ukusa a ne sigurnost.
Ne pokusavam da se tu nesto prepucavam nego me cisto interesovalo kako je to sigurnije. Nisam mogao da zamislim po cemu je sigurnije a covek se uci dok je ziv pa sam cisto zeleo taj info.
Jeste tvoj kod sigurniji ako moj kod ima bug tj ako zaboravim mysql_real_escape_string. Ali onda ja mogu da pitam sta ako ti kod provere lozinke stavis:
Code (php):
if ($psw = $row['psw']) // stavis = umesto ==
I eto, ti imas jedan bug, ja imam jedan bug i oba koda imaju rupu, ja na nivou sql-a a ti na nivou php-a.
Mislim da bi bolje bilo da si rekao da je prakticnije.
[Ovu poruku je menjao VladaSu dana 14.06.2003. u 11:22 GMT+1]