Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [sql] '= ' i 'LIKE'
Forum PHP.pl > Forum > Bazy danych
lisu
Cytat
Cytat
Kod
"WHERE login LIKE '$login'"

Taki kod jest niepoprawwny z punktu widzenia bezpieczeństwa: powiedzmy że są zarejestrowani użytkownicy o nazwie spen i spenalzo. Dziwnym zbiegiem okoliczności mają takie samo hasło - i co? Użytkownik spen może zalogować się na konto spenalzo... W przypadku logowania musi byc WHERE login='$login'.
.


Czemu musi byc = a nie LIKE ? Po zrobieniu prostej bazy i wydaniu zapytania
Kod
WHERE login='jozek'
nic nie zwraca, zas
Kod
WHERE login LIKE 'jozek'
wywala mi tylko 1 rekord pomimo ze mam w bazie rekordy z 'jozeka', jozekaaavfvdv'.
Wiem ze
Cytat
If you are comparing case-insensitive strings with any of the standard operators (=, <>..., but not LIKE) trailing whitespace (spaces, tabs and newlines) will be ignored.

ale czemu to nie dziala ?
Project
Zdecydawanie uzywaj sie znaku rownosci a nie LIKE!!!
Wyobraz sobie sytuacje:
Wpisuje jakis znak np literke a
podaje jakies haslo z listy standardowych smile.gif
i co sie moze stac?
Moze sie zdazyc ze jakis uzytkownik bedzie mial w swoim loginie literke a i haslo jakie podalem... w takim przypadku metoda slownikowa ma wielka szanse na powodzenie!!!
NIE UZYWAJ LIKE W TAKI SPOSOB NIE DO TEGO TYPU CELOW !!!!
:?
lisu
sprawa wyjasniona. LIKE 'fraza' dziala dobrze, dopiero LIKE '%fraza%' znajduje 'lalalalalafrazalllllll'
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.