Zabezpieczenie plików

0

Witam.
Co trzeba zrobić aby zablokować dostęp do plików w których są skrypty łączenia się z bazą danych? Czy wystarczy zwykły .htaccess? Czy po tym nikt nie będzie miał możliwości zobaczenia kodu?
I jak aktualnie działają strony, w sensie czy łączą się z bazami SQL za pomocą PHP czy jakimś innym sposobem, jeżeli tak to jakim?

0

Co masz w tych skryptach, że chcesz je zablokować?
Chyba nie masz żadnego pliku w stylu mysql.php?query=select...? :|

Czy po tym nikt nie będzie miał możliwości zobaczenia kodu?

I tak nie mogą przecież.

I jak aktualnie działają strony, w sensie czy łączą się z bazami SQL za pomocą PHP czy jakimś innym sposobem, jeżeli tak to jakim?

W jaki sposób strona napisana w PHP miałaby się komunikować z bazą inaczej niż przez PHP?

0

No chyba z bazą muszę się jakoś połączyć (login, hasło), właśnie chodzi o inne możliwości poza PHP

1

Mógłbyś wytłumaczyć, w jaki sposób w kodzie PHP chciałbyś łączyć się z bazą bez korzystania z PHP?

2

Myślę, że tu chodzi o zablokowanie dostępu do plików, w których są newralgiczne dane typu hasło.
Obecnie tendencja jest taka, by serwer udostępniał tylko jeden z katalogów, zazwyczaj public, a cała reszta aplikacji była w katalogu nadrzędnym.

Czyli zamiast starej szkoły:
/ -> www.example.com/
/index.php
/config.php
/controllers/foo.php

robisz tak:
/public -> www.example.com/
/public/index.php
/config.php
/controllers/foo.php
etc

dzięki temu nawet jak coś w apache (czy co tam używasz) padnie i będzie dostęp do nieprzeparsowanych plików .php, to i tak dostęp będzie tylko do katalogu public.

0

Nie powinno się trzymać nigdzie niezaszyfrowanych haseł.

1

To jak chcesz trzymać hasło do bazy danych w kodzie? ;p

0
dzek69 napisał(a):

To jak chcesz trzymać hasło do bazy danych w kodzie? ;p

Jasno napisałem, że zaszyfrowane, a nie w czystym tekscie.

2

No ale jak skrypt ma się połączyć z bazą, to musi sobie to hasło rozszyfrować, więc koniec końców klucz też gdzieś musi być dostępny dla skryptu.

0

Zawsze lepsze jakieś szyfrowanie niż żadne.

1

Nigdy nie widziałem, żeby ktoś miał stosować szyfrowanie z kluczem obok do szyfrowania hasła bazy danych. Zastanówmy się dlaczego:

a) cały świat to debile, wszystkie cmsy, systemy blogowe, webaplikacje są słabe
b) to jest bez sensu

0

nie rozumiesz idei "szyfrowania"

2

Co ci da twoje szyfrowanie hasła do bazy danych? Jeśli mam dostęp do pliku konfiguracyjnego, to automatycznie mam dostęp do decryptora twojego hasła. Nie potrzebnie zawalasz takty procesora przy każdym requescie, by odszyfrować te hasło (chyba że masz stałe połączenie z bazą).

Chcesz profesjonalnie się zabezpieczyć?

  1. Wygeneruj długie hasło - wygeneruj, nie wymyślaj, min 32znaków
  2. Zablokuj MySQL w firewallu, tak by nie był widoczny na zewnątrz ( i wyłącz phpmyadmina z publicznego dostepu )
  3. ustaw chmody plików tak, by tylko root mógł je edytować.
    To wystarczy.

Mając twoje hasło do mysqla, nic nie zrobię, bo nie będę mógł się połączyć z bazą danych... musiałbym mieć dostęp do roota lub innego uzytkownika w twoim serwerze.

1 użytkowników online, w tym zalogowanych: 0, gości: 1