![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 235 Pomógł: 0 Dołączył: 10.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Mam problem z panelem logowania. Chodzi mi o to że jak wpiszę się się jakiś login i hasło w formularzu HTML, prześlę się postem do skryptu i jeśli wielkość liter w loginie lub haśle jest inna niż przypisana do usera to zwraca mi że hasło jest niepoprawne. Chodzi mi o to że jeżeli login przypisany do jakiegoś użytkownika jest JaNeK a ja w formularzu wpiszę Janek to i tak ma mnie zalogować. Co mam zrobić? -------------------- |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 68 Pomógł: 6 Dołączył: 15.06.2009 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Zrób, żeby porównywało z bazy mysql i z formularza if, ale musisz zamienić wszystkie na małe litery. Wtedy na przykład JaNeK zamieni się na janek, a jak będziesz miał w mysql JAneK to też zamieni na janek.
Poczytaj też o strtolower();
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
@zavada A jak niby kolega ma wybrać login tego użytkownika z bazy danych, skoro właśnie login mu się nie zgadza?
Oczywiście trzeba to jeszcze zabezpieczyć. Poza tym nie wiem, po co Ci taki zabieg. Dla mnie JaNeK to nie janek, czy JaneK, to po prostu trzech różnych użytkowników. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 235 Pomógł: 0 Dołączył: 10.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Możesz mi wytłumaczyć tą linijkę?
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 1 Dołączył: 28.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
Troche dziwne masz pomysly, haslo to haslo, im wiecej znakow specialnych lub duzych liter tym bezpieczniejsze jest haslo.
Dla mnie to nie ma sensu. $query = "SELECT * FROM users WHERE LOWER(login) = {$login} AND password={$password}"; LOWER(login) -> to zamienia wszystkie znaki w zmiennej $login i $password na male, wiec jesli ktos wpisze w formularzu TomOjeHASLO to zamieni wszystko na tomojehaslo. Lecz musisz tez Inserta dac na LOWER, jak ktos sie rejestruje |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
LOWER(login) -> to zamienia wszystkie znaki w zmiennej $login i $password na male, wiec jesli ktos wpisze w formularzu TomOjeHASLO to zamieni wszystko na tomojehaslo. Nie no bzdury. To zapytanie służy do sprawdzenia, czy dany użytkownik w naszej tabeli użytkowników istnieje przy czym zawartość kolumny login w tabeli bazy danych jest zamieniana na małe litery. Podobnie zresztą, jak zawartość z pola login formularza logowania, ale za to odpowiada linijka: |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 1 Dołączył: 28.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
Ups troche sie pomylilem
![]() Sorrka za pomylke ![]() |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 235 Pomógł: 0 Dołączył: 10.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Panowie, ale ja nie chciałem żeby tak się działo z hasłem tylko samym loginem
![]() Bo dziwne by było że jak wpiszesz login z małej a nie dużej litery i zaliczy go jako niepoprawny. -------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 1 Dołączył: 28.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 548 Pomógł: 105 Dołączył: 4.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Panowie, ale ja nie chciałem żeby tak się działo z hasłem tylko samym loginem ![]() Bo dziwne by było że jak wpiszesz login z małej a nie dużej litery i zaliczy go jako niepoprawny. spytam z ciekawości czy w panelu rejestracji gdy użytkownik podaje login to czy sprawdzając w bazie danych czy taki istnieje bierzesz pod uwagę duże litery. Bo chyba login nie może się powtarzać, a jak bierzesz tego pod uwagę to możesz mieć w bazie np Janek janek JaneK i przypuśćmy że np dwóch jakimś tam cudem ma takie samo hasło całkiem przypadkiem np pomysl i jak myślisz na którego sie zalogujesz |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 1 Dołączył: 28.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
Dlatego lepiej żeby nie powtarzały się loginy no i lepiej zapisywac je z malych liter lub duzych jak kto woli. W bazie danych można ustawić kolumnę login na UNIQUE ( login ) wtedy nie będzie duplikatu, baza automatycznie sprawdza czy jest taki login i zwraca komunikat jeżeli już jest wpisany rekord a poprzez LCASE lub UCASE mozesz ustawic w INSERT zapis z malej lub duzej litery.
Hasła mogą się powtarzać ,ale prawdopodobieństwo, że tak będzie jest małe. Możesz również napisać skrypt w php, który będzie sprawdzał bazę danych przed rejestracja czy już jest podobny login. Ten post edytował Websky 29.05.2011, 09:15:15 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 00:05 |