Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Zabezpieczenie panelu administratora, Wystarczająco?
TimeMaster
post
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 8.09.2011

Ostrzeżenie: (0%)
-----


Witam.
Tworzę małą portalopodobną stronę, na której jest możliwość rejestracji, dodawania contentu itd. Dla wygody zarządzania zrobiłem panel admina.
W bazie użytkownik ma kolumnę 'id_rangi' (ranga admina to 0). Przy logowaniu pobieram do $_session id_rangi i na stronach panelu sprawdzam:
  1. if ($_SESSION['id_rangi'] !== 0) {
  2. header("Location: ../");
  3. } else { ....


Sesje zabezpieczyłem funkcją:
  1. function session() {
  2. if (!isset($_SESSION['init']))
  3. {
  4. $_SESSION['init'] = true;
  5. $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
  6. }
  7.  
  8. if($_SESSION['ip'] != $_SERVER['REMOTE_ADDR'])
  9. {
  10. die('Coś jest nie tak!!');
  11. logout();
  12. }
  13. }


Chodzi głównie o to, by dane użytkowników (Imię, Nazwisko, Nr. telefonu, Adres) nie dostały się w niepowołane ręce.
Czy poza ustawieniem prawidłowo praw do plików i powyższymi 'zabezpieczeniami' można coś jeszcze zastosować, by ukrócić starania wścibskiego użytkownika z Kali Linux? (IMG:style_emoticons/default/smile.gif)

Ten post edytował TimeMaster 26.03.2019, 16:50:18
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dublinka
post
Post #2





Grupa: Zarejestrowani
Postów: 594
Pomógł: 66
Dołączył: 22.02.2008
Skąd: Dublin

Ostrzeżenie: (0%)
-----


Cytat(TimeMaster @ 27.03.2019, 00:14:23 ) *
Drugie zabezpieczenie jest przed linkiem z PHPSESSID

Obawiam sie ze Cie nie rozumiem.
W tamtym przkadzie sprawdzasz jakas sesje a czym ona jest to tylko ty wiesz. Nastepnie masz kolejna sesje z ip i sprawdzasz ja ze zmienna globalna SERVER i jesli da rozne to wysw odpowiedni komunikat.
Jedyne co robisz to regenerujesz id sesji ale to zadne zabezpieczenie. Skup sie na zapytaniach do bazy bo tym moze ktos se dostac do detali.

Jesli chodzi o SQL injection to jak korzystasz z mysqli to korzystaj z mysqli, bind_param i prepare. Pamiętaj jeszcze o o atakach XSS.

https://php.net/manual/en/mysqli.prepare.php

Jesli nie chcesz aby ktos Ci narobil balaganu to najprostszym rozwiazaniem jest trzymanie waznych plikow poza folderem "public_html" ; umiesc te pliki w jakims jeszcze jednym kat i daj go wyzej w hierarchii (wyjdz z kat public_html) a same pliki includnij.

Ten post edytował dublinka 27.03.2019, 07:59:41
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 18:11