Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Podział aplikacji
Forum PHP.pl > Forum > Serwery WWW
Szymciosek
Witam,
piszę w php aplikację i teraz chciałem ją podzielić na front i end.

FrontEnd - wszystko to co będzie widoczne czyli np. views, styles, images etc.
BackEnd - Cały system aplikacji, obsługa logowania, rejestracji, obsługa bazy, kontrolery etc.

I teraz jak to rozdzielić sensownie na serwerze? Żeby Kowalski nie miał bezpośredniego dostępu do BackEnd.

Myślałem np. żeby BackEnd wywalić do katalogu powyżej public_ftp i po prostu cofać się x katalogów w zależności od potrzeb lub po prostu zrobić jakąś taką ścieżkę do tych plików coś ala root_path, a FrontEnd wrzucić do public_ftp.

Inna opcja, to zrobienie w public_ftp katalogu o nazwie web, który będzie uruchamiany od razu po wejściu na stronę, a w samym public_ftp będę trzymał cały BackEnd.
Czyli:
public_ftp - Backend.
public_ftp/web - Frontend.
Pewnie tutaj musiałbym dodać htaccess z przekierowaniem od razu do /web oraz jakieś zablokowanie dostępu do tych plików (z tym drugim nie jestem pewien, bo i tak przecież od razu jest przekierowanie robione)

Jak Wy rozwiązujecie takie "problemy"?
Jak jest optymalnie i bezpiecznie?
markonix
A co to znaczy bezpośredni dostęp do plików?

  1. <?php if (!defined('SYSTEM')) { exit('No direct script access allowed'); }


i na tym koniec filozofii.
CuteOne
.htaccess z regułką przekierowującą wszystkie (poza plikami z public) requesty na index.php. Cały back-end wrzuć poza public i kłopot z głowy
!*!
Cytat(markonix @ 4.02.2013, 00:45:33 ) *
  1. <?php if (!defined('SYSTEM')) { exit('No direct script access allowed'); }


Lub

  1. <?php defined('SYSTEM') OR exit;


Cytat
.htaccess z regułką przekierowującą wszystkie (poza plikami z public) requesty na index.php. Cały back-end wrzuć poza public i kłopot z głowy


I pamiętaj że .htaccess to tylko dodatek.

A w index.php tworzysz stałe ze ścieżkami np. do katalogu 'web' zawierającego obrazki, skrypty itp.
Szymciosek
Możesz napisać coś więcej o tych stałych do web?
!*!
Zakładając że wszystkie przekierowania (poza plikami i katalogami które istnieją) idą na index.php, to plik index.php wyglądałby tak:

  1. <?php
  2. define('PATH_SYSTEM', '../system'); // ścieżka do bebechów php
  3. define('PATH_WEB', './web'); // ścieżka do plików JS, IMG, CSS
  4. define('PATH_COKOLWIEK', './cokolwiek'); // jeszcze inna ścieżka...
  5. ?>


Chodzi o to aby z palca nie pisać za każdym razem ścieżki, tylko odwoływać się do tych stałych, dzięki czemu nigdy nie zostanie napisana, chyba ze poprzez zmianę tego pliku wink.gif

dodatkowo pomocnicze przydaje się zdefiniowanie stałej z nazwą pliku w jakim jest definiowana, to ułatwia chociażby tworzenie linków gdy brak htaccess
  1. define('SELF', basename(__FILE__)); //
Szymciosek
To też jakieś ułatwienie i myślę, że podczas pisania odkryję ich jeszcze sporo.

Dziękuje wam.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.