beapieczeństwo skryptu php

0

Witam. Jeżeli mam niezabezpieczony skrypt php - w sensie tak, że można wprowadzić adres tego skryptu w przeglądarkę. skrypt jak to skrypt nic nie wyświetla same funkcje, definicje .... lecz moje pytanie jest takie: Czy można w jakiś sposób ( znając ścieżkę skryptu ) odczytać ten skrypt ?

Od wczoraj zabezpieczam wszystko używając danych sesyjnych + $_SERVER['http_referer'] ale może to w ogóle zbędna robota ?

0

Podstawowa struktura katalogów aplikacji się kłania, ogólnie można taką strukturę podzielić na 3 główne katalogi / rodzaje dostępu:

  1. katalog na klasy php które będą ładowane przez autoloading

NIEDOSTĘPNY Z POZIOMU PRZEGLĄDARKI

  1. katalog na zasoby:
  • np. szablony html
  • skrypty startowe
  • skrypty odpalane z poziomu CLI
  • etc.

NIEDOSTĘPNY Z POZIOMU PRZEGLĄDARKI

  1. katalog publiczny / root dir serwera wirtualnego:
  • pliki grafiki, pliki css, ewentualnie jakiś plik typu index.php który jest centralnym routerem

DOSTĘPNY Z POZIOMU PRZEGLĄDARKI

Dlatego zamiast robić tego typu zabezpieczenia, to wstawiasz swoje skrypty do katalogu 2)

Tak poza tym, to to co napisałem to jest w początkach tutoriali chyba każdego porządnego frameworka PHP - chociażby Symfony czy Laravel, więc może sobie o tym poczytaj zamiast tworzyć jakieś potworki.

1
obcy3257 napisał(a):

"niedostępny" jak to wykonać ? .htaccess ?

# --- ogranicz dostępność plików i katalogów ---
# zablokuj listowanie katalogów
Options -Indexes

# zablokuj dostęp do plików w wybranych katalogach
RewriteRule ^zabroniony/.*$ twoja-strona-bledu.php [L]

# zablokuj dostęp do: *.php
<FilesMatch "\.(php)$">
  Deny from all
</FilesMatch>

# odblokuj dostęp do wybranych: index.php itp
<FilesMatch "index.php|co_tam_jeszcze_chcesz.php">
  Allow from all
</FilesMatch>
# --- /ogranicz dostępność plików i katalogów ---
1

Można przez .htaccess, można przez konfigurację serwera.

Przy czym .htaccess to znak rozpoznawczy mało wydajnej zamulającej krowy Apache (chociaż niekoniecznie - są też inne serwer rozpoznające składnię .htaccess).

Polecam Nginx - tam nie ma .htaccess, ale w prosty sposób możesz to skonfigurować w pliku konfiguracyjnym serwera/domeny.

Gdybyś chciał się pobawić Nginxem to mogę Cię nakierować/pokazać jak to skonfigurować.

0

dzięki panowie za odpowiedzi. zastanawia mnie jednocześnie jak to zabezpieczyć od strony prawnej. czy w informacjach o przechowywaniu danych nie wystarczy dopisać czegoś w stylu
"brak odpowiedzialności za ewentualny wyciek danych w sposób niezależny od administratora danych "
i tutaj:
" klęski, przestępstwa, nadużycia etc ... "

Ktoś się spotkał z zagadnieniem czy muszę na forum prawne.
Dodam że projekt typu non-profit to ma być więc zatrudnianie prawników nie wchodzi w grę.

2

Co dokładnie chcesz opisywać w tym regulaminie. Pamiętaj też o Rodo jeśli będziesz magazynował maile użytkowników. O RODO poczytaj bo było trochę na forum. Co do całkowitego wyłączenia odpowiedzialności w regulaminie, to w przypadku jakiejś draki i spawy w sądzie, sędzia może jednak uznać taki regulamin za nielegalny.

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