![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 28.09.2015 Ostrzeżenie: (0%) ![]() ![]() |
Witam
![]() Staram się stworzyć zabezpieczenie strony hasłami jednorazowego użytku, które są zapisane w pliku tekstowym. Na samej górze strony umieściłem skrypt, który nie pozwala wczytać reszty strony dopóki nie podany poprawnego hasła. Jednak opiera on się na funkcji "stristr", więc jeśli moje hasła zapisane w pliku to przykładowo "haslo123" i "haslo1" to wystarczy przecież wpisać np. "has" i już otrzymamy dostęp, ponieważ ten ciąg znaków również występuje. Próbowałem także wczytać wszystkie hasła z pliku do tablicy, a następnie sprawdzić funkcją in_array() czy podane przez użytkownika hasło jest poprawne (znajduje się w tablicy), ale funkcja wychwytywała tylko ostatnie hasło z pliku, reszta haseł nie działała.
Plik spradz.php:
Mam nadzieję, że można rozwiązać mój problem w miarę prosty sposób ![]() (Zdaję sobie sprawę, że takie zabezpieczenie nie należy do bardzo bezpiecznych, ale na potrzeby nauki mogę sobie na to pozwolić ![]() Ten post edytował Duor 28.09.2015, 18:29:19 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 550 Pomógł: 75 Dołączył: 5.06.2012 Skąd: Lębork Ostrzeżenie: (0%) ![]() ![]() |
Jak wygląda plik z hasłami? Hasła zapisane po spacji czy w nowych linijkach ?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 28.09.2015 Ostrzeżenie: (0%) ![]() ![]() |
W nowych linijkach np.
haslo1234 haslo123 haslotest |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
pewnie używałeś do tego celu file(), a ta wczytując linie do tablicy zostawia znak nowej linii na końcu każdej linijki (poza ostatnią jeśli nie było takoweg), więc musisz dodać odpowiedni parametr (patrz manual)
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 28.09.2015 Ostrzeżenie: (0%) ![]() ![]() |
Mój skrypt oparty na in_array() oraz z wykorzystaniem trim() do usunięcia znaków białych wygląda teraz tak:
Wydaje mi się, że wszystko wygląda całkiem logicznie, jednak teraz strona ładuje się od razu cała, pomijając formularz hasła - tak jakby warunek nie był spełniony, a przecież domyśnie powinien właśnie być, ponieważ nie podaliśmy jeszcze żadnego hasła... Będę bardzo wdzięczny za jakiekolwiek wskazówki, im dłużej się z tym męczę tym bardziej zależy mi na znalezieniu sposobu ![]() Ten post edytował Duor 29.09.2015, 17:04:52 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Przecież Pyton Ci napisał, żebyś użył odpowiedniej flagi do file(), a Ty kombinujesz. Poza tym jak używasz zmiennej, to warto ją pierw stworzyć. Mam na myśli $i. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 28.09.2015 Ostrzeżenie: (0%) ![]() ![]() |
Rzeczywiście wystarczyło poczytać trochę o flagach i wszystko działa, wielkie dzięki za pomoc!
Wklejam gotowy kod, może komuś kiedyś sie przyda ![]()
Ten post edytował Duor 29.09.2015, 20:15:19 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 07:41 |