Grzegorz 114 Napisano 30 Stycznia Udostępnij Napisano 30 Stycznia Witam na studiach będę miał bezpieczeństwo w sieci (coś takiego), zastanawiam się jak w sumie zabezpieczyć stronę przed kradzieżą danych. Wpisywałem w Internet różne frazy i głównie wyskakują mi oferty firm i jakieś opisy skutków kradzieży. Wiem że jednym z sposobów jest w php sprawdzenie danych które wpisywane są przez formularze (np czy spacje kropki i inne znaki nie dozwolone w danym momencie są wpisywane, bo z tego co jedynie zdążyłem się dowiedzieć gdzieś przez okres nauki że przez formularz txt - jak wpiszemy polecenie sql to zostanie wykonane). Odnośnik do odpowiedzi Udostępnij na innych stronach
Administrator Popularny post Mativve 3 964 Napisano 30 Stycznia Administrator Popularny post Udostępnij Napisano 30 Stycznia Witaj, przede wszystkim najważniejszą zasadą jaką trzeba się kierować to - Nigdy nie ufaj użytkownikowi. Zawsze trzeba walidować dane (sprawdzać ich poprawność oraz typ (np.: liczba, tekst, data etc)). Druga sprawa to dostęp do witryny od strony panelu - tutaj stosowałbym mocne hasła oraz stosował regularną kopię zapasową. Kolejna rzecz to certyfikat SSL - tutaj można skorzystać z Let's Encrypta do prostych rzeczy ale jeśli chodzi o dane userów to pasowałoby tu już coś wykupić. Przy stosowaniu jakichś CMSów - należałoby śledzić aktualności i posiadać na serwerze najnowszą wersję X skryptu i w przypadku wtyczek stosować ich jak najmniej a jak już to na 1000% sprawdzonych. Gdybym miał podsumować całość(opierając się o kilka źródeł z Google) to najważniejszymi rzeczami na jakie trzeba zwrócić uwagę to: - XSS https://pl.wikipedia.org/wiki/Cross-site_scripting - CSRF https://pl.wikipedia.org/wiki/Cross-site_request_forgery - Przechwytywanie sesji https://pl.wikipedia.org/wiki/Session_hijacking - Unikanie SQL Injection https://pl.wikipedia.org/wiki/SQL_injection - Używanie certyfikatów SSL - Blokowanie dostępu z zewnątrz do plików (Źródło/a: https://geekflare.com/php-site-security-tips/, https://blog.sagipl.com/protect-php-websites/, https://www.php.net/manual/en/security.php, https://www.cmarix.com/blog/how-to-secure-your-php-website-from-being-hacked/) Jeśli o jakieś źródła wiedzy, o które można się oprzeć to np.: książka od sekuraka (https://sklep.sekurak.pl/product/view?id=1). Posiadam tę książkę - gruba jak cholera i ciężko mi się do niej zabrać ale patrząc po tym co jest w niej zawarte myślę, że odpowiedziała by ona na Twoje pytania - ewentualnie można przyjanuszyć i na podstawie spisu treści szukać odpowiedzi w Internecie (zapewne po angielsku) i na tej podstawie się doszkolić. ravenekse, Lactriksen, Grzegorz i 5 innych dodali reakcje 3 4 1 Odnośnik do odpowiedzi Udostępnij na innych stronach
Grzegorz 114 Napisano 30 Stycznia Autor Udostępnij Napisano 30 Stycznia no dobra a np tworzenie baz danych - są jakieś zasady bezpieczeństwa przykładowo gdy wymyślamy nazwy czy coś? Odnośnik do odpowiedzi Udostępnij na innych stronach
Administrator Mativve 3 964 Napisano 30 Stycznia Administrator Udostępnij Napisano 30 Stycznia (edytowane) Jeśli chodzi o nazewnictwo, czy to plików, zmiennych czy nazw baz, tabel lub kolumn to ja trzymam się tylko angielskiego nazewnictwa i to w każdym możliwym języku/technologii. Jeśli chodzi o zabezpieczenie no to co w sumie już napisałem: - konfiguracji dostępu do bazy tak aby plik konfiguracyjny nie był dostępny z zewnątrz - zabezpieczenie zapytań np.: służących wyszukiwaniu w bazie czy to wprowadzających dane do bazy czy ich edycja (zabezpieczenie przed SQL Injection) Edytowane 31 Stycznia przez Mativve edjazoli25, SeNioR, Tomik i 1 inny dodali reakcje 4 Odnośnik do odpowiedzi Udostępnij na innych stronach
Ekspert -n3veR 6 241 Napisano 31 Stycznia Ekspert Udostępnij Napisano 31 Stycznia (edytowane) Prześledź sobie temat Albicla (Niebezpiecznik, Sekurak, Spider's Web, Zaufana Trzecia Strona) i będziesz mieć listę tego czego nie robić by 'zabezpieczyć' 😉 A tak poza tym, to jeżeli nie stawiasz serwerów od zera, samemu, wg gotowych tutoriali na YT 🤣, to wystarczy stosować silne hasła do serwisów, które oferuje hosting. PS. I nie instaluj też oprogramowania z niewiadomych źródeł / scrackowanych. Edytowane 31 Stycznia przez -n3veR edjazoli25, SeNioR, Grzegorz i 2 innych dodali reakcje 4 1 Odnośnik do odpowiedzi Udostępnij na innych stronach
Grzegorz 114 Napisano 4 Lutego Autor Udostępnij Napisano 4 Lutego 17 godzin temu, SeNioR napisał: - Zabezpieczenie dostępu do katalogu administracyjnego (np. przez htpasswd) Hmm czyli wnioskuje jeżeli mam funkcje admina w jednym panelu wraz z użytkownikiem - za pomocą funkcji if (obrazek poglądowy w załączniku) to domyślam się że jest to złe działanie Odnośnik do odpowiedzi Udostępnij na innych stronach
Ekspert -n3veR 6 241 Napisano 4 Lutego Ekspert Udostępnij Napisano 4 Lutego (edytowane) No, nie tak się robi Roles w systemie... 😕 A Sebie raczej chodziło o 'schowanie' panelu admina. Dostęp do niego będą miały jedynie osoby znające hasło. Trochę więcej na ten temat w tym wątku: Edytowane 4 Lutego przez -n3veR SeNioR, Tomik i Mativve dodali reakcje 3 Odnośnik do odpowiedzi Udostępnij na innych stronach
Grzegorz 114 Napisano 5 Lutego Autor Udostępnij Napisano 5 Lutego Zrozumiałem to, bardziej chodzi mi o praktykę, czyli powinno stworzyć się osobna tabele w bazie dla admina i z tymi danymi tworzyć katalog admina? Odnośnik do odpowiedzi Udostępnij na innych stronach
vader 71 Napisano 5 Lutego Udostępnij Napisano 5 Lutego Ok, więc ja bym podszedł do tematu tak: - najpierw zaplanuj sobie jak powinna wyglądać twoja baza danych, jakich tabel i kolumn potrzebujesz, następnie musisz zdefiniować im odpowiednie typy i najlepiej ustawić jakąś długość maksymalną dla wpisywanych znaków, - czy będziesz miał tabelę admina, czy usera z flagą admina nie ma znaczenia, trzeba dobrze zaszyfrować hasło w bazie, - kolejną ważną rzeczą jest utworzenie na serwerze użytkownika tylko z dostępem do tej jednej bazy i ustawienie, że tylko użytkownik na tym konkretnym komputerze ma dostęp do bazy, - dane dostępowe do bazy najlepiej przechowywać w jakimś .env czy czym podobnym, dostępnym tylko z poziomu serwera Odnośnik do odpowiedzi Udostępnij na innych stronach
edjazoli25 45 Napisano 5 Lutego Udostępnij Napisano 5 Lutego On 2/4/2021 at 1:40 AM, SeNioR said: Zastosowanie bezpiecznych nagłówków (Security headers) takich jak: X-XSS-Protection X-Frame-Options Content-Security-Policy Permissions-Policy X-Content-Type-Options - Wyłączenie nagłówka (X-Powered-By oraz ServerSignature Hej @SeNioR mógłbyś naprowadzić mnie bardziej na zabezpieczenie header Odnośnik do odpowiedzi Udostępnij na innych stronach
ravenekse 195 Napisano 5 Lutego Udostępnij Napisano 5 Lutego @edjazoli25 https://stackoverflow.com/questions/53700968/how-to-add-http-security-headers edjazoli25, Pawel i Mativve dodali reakcje 2 1 Odnośnik do odpowiedzi Udostępnij na innych stronach
Ekspert -n3veR 6 241 Napisano 5 Lutego Ekspert Udostępnij Napisano 5 Lutego 8 godzin temu, Grzegorz napisał: Zrozumiałem to, bardziej chodzi mi o praktykę, czyli powinno stworzyć się osobna tabele w bazie dla admina i z tymi danymi tworzyć katalog admina? Nie. User, to User. Jedyna różnica między tymi dwoma bytami, to Role (rola, uprawnienia, zwał jak zwał). To nie ma nic wspólnego z tym pomysłem od Seby. Odnośnik do odpowiedzi Udostępnij na innych stronach
Ekspert Dazai 925 Napisano 7 Lutego Ekspert Udostępnij Napisano 7 Lutego (edytowane) W dniu 5.02.2021 o 07:00, Grzegorz napisał: Zrozumiałem to, bardziej chodzi mi o praktykę, czyli powinno stworzyć się osobna tabele w bazie dla admina i z tymi danymi tworzyć katalog admina? Baza danych służy wyłącznie do przechowywania danych, nic więcej. To czy użytkownik ma mieć dostęp do jakiegoś zasobu aplikacji, to w jaki sposób definiujesz rolę użytkownika (czy to z użyciem sesji, czy zakodowanej roli w JWT, czy oddzielnemu polu w ciasteczku, czy może bardziej po stronie klienta z użyciem LocalStorage lub SessionStorage), to w jaki sposób dbasz o bezpieczeństwo routów (po FE i BE) zależy wyłącznie od samej już aplikacji. Edytowane 7 Lutego przez Dazai Odnośnik do odpowiedzi Udostępnij na innych stronach
Rekomendowane odpowiedzi
Problem wciąż nierozwiązany? Dodaj swoją odpowiedź
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto. Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się