![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 31.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Helo
(Proszę wybaczyć tak ogólną nazwę tematu, ale pytania dotyczą wielu sposobów zabezpieczeń, więc ciężko mi to było bardziej sprecyzować ;>) Stworzyłem stronę i pracuję teraz nad zabezpieczeniami. Mam więc kilka pytań :) 1. Aby dostać się do panelu admina login musi mieć nazwę panelu (czyli do admin.php wejdzie tylko użytkownik z nickiem 'admin') oraz ustawiłem poprzez htaccess dostęp do panelu tylko z mojego ip. Czy te zabezpieczenia są wystarczające? Szczególnie te pierwsze, bo możliwe, że nie będę mieć wiecznie stałego ip ;) 2. Czy muszę zabezpieczać mój panel admina przed przeróżnymi sql injection itp? Skoro nikt poza mną nie powinien tam wejść, to chyba mogę pozostawić te wszystkie POSTY bez zabezpieczeń? 3. Pozamieniałem wszystkie 'GETY' w stronie na wartości liczbowe i sprawdzam czy pobrana wartość jest liczbą: $getutw = (int)$_GET['coś']. To wystarczające zabezpieczenie jeśli chodzi o GET? 4. Mam sporo formularzy na stronie (textarea i kilka pól tekstowych), które po wysłaniu idą bezpośrednio do bazy. Czytałem na necie o różnych funkcjach na zabezpieczenie tych formularzy, ale po prostu nie ogarniam tych wszystkich możliwości zabezpieczeń. Nie chcę, by poprzez formularz dało się dopisać jakiś kod do strony, ale jednocześnie chcę zostawić możliwość pisania cudzysłowów. Możecie zaproponować jakieś konkretne funkcje, które zapewnią mi ochronę, o której mówię? 5. By pozbyć się różnych wpisów w formularzu z języka html, wpisałem wstępnie funkcję obejmującą wszystkie POSTY: $_POST = array_map('strip_tags', $_POST). Nie znalazłem jednak informacji w jaki sposób dopuścić używanie 'enterów' bez potrzeby odwoływania się do każdego POSTa, ma ktoś jakieś pomysły? pozdrawiam flaa -------------------- Interpretacje tekstów piosenek, ciekawostki muzyczne o wykonawcach i ich piosenkach, tłumaczenia tekstów - sprawdź http://songfacts.pl!
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 012 Pomógł: 109 Dołączył: 26.09.2003 Skąd: nexis.pl Ostrzeżenie: (0%) ![]() ![]() |
1. Aby dostać się do panelu admina login musi mieć nazwę panelu (czyli do admin.php wejdzie tylko użytkownik z nickiem 'admin') oraz ustawiłem poprzez htaccess dostęp do panelu tylko z mojego ip. Czy te zabezpieczenia są wystarczające? Szczególnie te pierwsze, bo możliwe, że nie będę mieć wiecznie stałego ip ![]() Pierwsza opcja (zgodność loginu z nazwą pliku) jest niewygodna, a nie daje dodatkowego zabezpieczenia. Stwórz lepiej jeden plik, w którym będziesz trzymał wszystkich uprawnionych użytkowników i ich hasła w formie skrótu (md5(), sha1(), hash()) lub odwoływał się z poziomu tego pliku do danych zapisanych w bazie danych.
Następnie dodaj w każdym pliku twojego panelu walidację tych danych i ich zgodność z zapisaną sesją. 2. Czy muszę zabezpieczać mój panel admina przed przeróżnymi sql injection itp? Skoro nikt poza mną nie powinien tam wejść, to chyba mogę pozostawić te wszystkie POSTY bez zabezpieczeń? Skorzystaj z PDO, a nie będziesz się musiał nad tym zastanawiać. Lepiej nie wychodzić z założenia, że nikt nie wejdzie do twojego panelu, bo wystarczy chwila nieuwagi (np. niezabezpieczony plik PHP) i droga wolna dla intruza.
3. Pozamieniałem wszystkie 'GETY' w stronie na wartości liczbowe i sprawdzam czy pobrana wartość jest liczbą: $getutw = (int)$_GET['coś']. To wystarczające zabezpieczenie jeśli chodzi o GET? Jeśli twoja aplikacja nie straciła na tym mocno na czytelności, to jest to stosunkowo dobre rozwiązanie przyjmowania parametrów, ale sprawdzanie wartości stricte względem predefiniowanych wartości nie jest gorszym rozwiązaniem.
4. Mam sporo formularzy na stronie (textarea i kilka pól tekstowych), które po wysłaniu idą bezpośrednio do bazy. Czytałem na necie o różnych funkcjach na zabezpieczenie tych formularzy, ale po prostu nie ogarniam tych wszystkich możliwości zabezpieczeń. Nie chcę, by poprzez formularz dało się dopisać jakiś kod do strony, ale jednocześnie chcę zostawić możliwość pisania cudzysłowów. Możecie zaproponować jakieś konkretne funkcje, które zapewnią mi ochronę, o której mówię? Patrz punkt 2 dotyczący PDO. 5. By pozbyć się różnych wpisów w formularzu z języka html, wpisałem wstępnie funkcję obejmującą wszystkie POSTY: $_POST = array_map('strip_tags', $_POST). Nie znalazłem jednak informacji w jaki sposób dopuścić używanie 'enterów' bez potrzeby odwoływania się do każdego POSTa, ma ktoś jakieś pomysły? Patrz punkt 2 dotyczący PDO. -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 31.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za szybką i wyczerpującą odpowiedź ;)
W takim razie póki co poświęcę się lekturze na temat tego PDO, bo nigdy wcześniej o tym nie słyszałem ;> Ten post edytował flaa 27.04.2011, 20:35:32 -------------------- Interpretacje tekstów piosenek, ciekawostki muzyczne o wykonawcach i ich piosenkach, tłumaczenia tekstów - sprawdź http://songfacts.pl!
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 01:13 |