Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Bezpieczeństwo łączenia się z MySQL
WojtasSP320
post
Post #1





Grupa: Zarejestrowani
Postów: 87
Pomógł: 13
Dołączył: 13.08.2008
Skąd: Chełmno

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


Witam!

Mam pytanie odnośnie bezpieczeństwa. Piszę aktualnie aplikację w której BARDZO zależy mi na bezpieczeństwie.

Generalnie w panelu admina robię coś takiego:

  1. Sprawdź czy user jest zalogowany
  2. Jeśli tak to połącz z bazą (łączy się skrypt znajdujący się poza drzewem www z uprawnieniami 400) i zapisz połączenie do globalnej zmiennej $con
  3. W przeciwnym wypadku przekieruj, 403, die i w ogóle umrzyj.
  4. Potem dzieje się cały skrypt strony i na końcu (wiem, że nie muszę) robię mysql_close($con)
Moje pytanie brzmi: czy łącząc się w ten sposób (łączenie się na początku, przetrzymywanie połączenia w zmiennej globalnej, trzymanie przez cały skrypt otwartego połączenia) w jakiś wyraźny sposób niesie ze sobą zagrożenie i obniża bezpieczeństwo skryptu niż w wypadku, gdybym co chwila otwierał połączenie, wykonywał zadania na bazie i zamykał za sobą(IMG:style_emoticons/default/questionmark.gif)

Z góry dzięki za jakiekolwiek info.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
darko
post
Post #2





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


Cytat
#Sprawdzam, czy sesja nie jest "podstawiona"
if (!isset($_SESSION['session_check']))
{
session_regenerate_id(true);
$_SESSION['session_check'] = true;
}


To sprawdza jedynie czy zmienna sesyjna session_check ma jakąkolwiek wartość.

Cytat
#Sprawdzam, czy IP usera to to samo co twórcy sesji
if (!isset($_SESSION['user_ip']) || $_SESSION['user_ip'] != $_SERVER['REMOTE_ADDR'])
{
session_regenerate_id(true);
$_SESSION['user_ip'] = $_SERVER['REMOTE_ADDR'];
}


Dodałbym jeszcze sprawdzanie/ustawianie ip dla łączących się przez proxy

$_SERVER['HTTP_CLIENT_IP'];
$_SERVER['HTTP_X_FORWARDED_FOR'];
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: 3.10.2025 - 04:07