![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 0 Dołączył: 6.05.2009 Skąd: warszawa Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Strwożyłam prostą stronę z panelem administracyjnym. Właśnie dostałam wiadomość od firmy testującej ze aplikacja jest dziurawa i właśnie siedzą w moim panelu admina i mogą dowolnie modyfikować dane (podali login i hasło które faktycznie zapisałam w bazie). Dodam ze login i hasło przechowuje w bazie w postaci jawnej (nie md5), do tego logowanie robię metoda POST. Na stronie jest tez wyszukiwarka która jak wiadomo łączy się z baza. Danych przesyłanych z formularza nie przepuszczam przez funkcje addslashes() ale czy robiąc to zapobiegłabym przed wykradzeniem z bazy loginu i hasła? Proszę napiszcie jakie są sposoby aby porządnie zabezpieczyć prosta stronę z panelem admina aby nikt nie mógł dostać się do mojego loginu i hasła? Ten post edytował AniaR 15.11.2010, 10:37:45 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 317 Pomógł: 58 Dołączył: 6.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Chyba sobie żartujesz... Napisałem wyraźnie, że POPRZEZ STRLEN NIE DA SIĘ OGRANICZYĆ długości łańcucha.Zastanów się proszę, czy w takim wypadku lepiej używać ifowania i tego typu cudów, zamiast prostego substr, które zaproponował @phpion. Równie dobrze możemy liczyć długość za pomocą count. Ale po co? Tylko dlatego, że się da? @Phpion miał w 100% rację. Do ograniczania długości stringa w PHP służy substr, nie strlen. Kropka. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Równie dobrze możemy liczyć długość za pomocą count. Ciekawe.
Do ograniczania długości stringa w PHP służy substr, nie strlen. Kropka. Mądralo, przeczytaj opis obu funkcji o których mowa, bo w tym momencie sypiesz jakimiś teoriami wyssanymi z palca. Przeczytaj dokładnie do czego służy substr - według mojej wiedzy do "przycinania"/"wycinania" odpowiedniej długości ze stringa - ni jak ma się to do sprawdzania jego długości. W momencie użycia tej funkcji w sposób jaki zaproponowałeś, nie zawiadomisz użytkownika o zbyt długim tekście, lecz przytniesz go do swojej ustalonej długości, a przy rejestracji konsekwencje mogą być dramatyczne, bo ktoś dostanie zupełnie inny nick niż zakładał. |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Przeczytaj dokładnie do czego służy substr - według mojej wiedzy do "przycinania"/"wycinania" odpowiedniej długości ze stringa - ni jak ma się to do sprawdzania jego długości. No właśnie, do przycinania/wycinania, czyli ograniczenia długości ciągu. Dokładnie to samo robi atrybut maxlength - pozwala wpisać X znaków, resztę odrzuca (nie można wpisać). Zwróć uwagę, że w tym momencie nie chodzi o walidację wprowadzanych danych tylko ograniczenie długości wprowadzanego tekstu. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Dokładnie to samo robi atrybut maxlength - pozwala wpisać X znaków, resztę odrzuca (nie można wpisać). Zwróć uwagę, że w tym momencie nie chodzi o walidację wprowadzanych danych tylko ograniczenie długości wprowadzanego tekstu. Nie robi dokładnie tego samego. Jak sam zauważyłeś "pozwala wpisać X znaków" ale nic nie przycina. Przykład, który podał Wicepsik jest bardzo dobry. Jeżeli programiści mieliby podejście takie jak Wy, to szkoda gadać...człowiek się gdzieś pomyli i pełno kłopotów. Co do walidacji, zapytam się tak: Jeżeli Ci ktoś nie powie, że musisz zjeść śniadanie to go nie zjesz? phpion - równie dobrze, według Twojego rozumowania, można ustawić w bazie pole o ustalonej wielkości powiedzmy 20 znaków i równie dobrze MySQL sobie sam przytnie. To może ja Ci pokaże jakie są tego konsekwencje. Tutaj ! Poza tym, może nie zwróciłeś uwagi ale nazwa tematu brzmi: "włam do bazy" - chyba wystarczy, aby ruszyć głową że trzeba będzie walidować dane wprowadzone przez użytkownika. Ten post edytował fifi209 16.11.2010, 09:27:12 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 03:16 |