Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 375 Pomógł: 20 Dołączył: 28.07.2006 Ostrzeżenie: (0%)
|
Aplikacja ma 2 stałe. URL jest umieszczany w <base>.
URL - pełna ścieżka wraz z http:// PATH - katalog Dawniej były wykrywane tylko raz przy instalacji. Są sytuacje, kiedy ścieżki ulegają zmianie: 1. Zakup domeny 2. Zmiana serwera 3. Kilka adresów lub domen, z www lub bez W przypadku 1 i 2 admin musi zmienić ścieżki ręcznie w pliku konfiguracyjnym lub w panelu admina, bo system nie będzie działać. W przypadku 3 wystąpią problemy z sesjami, ciasteczkami i zabezpieczeniami. Rozwiązaniem jest automatyczne wykrywanie ścieżki. Jest 1 problem. Popatrzmy na drzewko plików i katalogów: Kod katalog |--> admin |-------> index.php - plik startowy panelu admina |--> index.php - plik startowy części frontowej |--> kernel.php - jądro systemu (tu następuje wykrycie ścieżki) |--> request.php - plik startowy dla żądań AJAX |--> login.php - plik startowy - logowanie |--> fileman.php - plik startowy - menedżer plików Jak widać, panel admina znajduje się w innym katalogu. Początek admin/index.php:
Panel admina nie jest osobną aplikacją, dlatego ścieżka powinna być taka sama jak w przypadku pozostałych podstron. Niestety, jest ona błędna. Powinniśmy otrzymać: /katalog/ Otrzymujemy: /katalog/admin/ Rozwiązanie 1
Może być więcej modułów w osobnych katalogach. Nie tylko 'admin'. Rozwiązanie 2 Kopiować część kodu odpowiedzialną za wykrywanie URL? Jak widać, plików startowych jest dużo, a pełny kod jest następujący:
Inne rozwiązanie? Jak poprawnie wykryć ścieżkę? -------------------- „Jesteśmy różni, pochodzimy z różnych stron Polski, mamy różne zainteresowania, ale łączy nas jeden cel. Cel ten to Ojczyna, dla której chcemy żyć i pracować.” Roman Dmowski
|
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 125 Pomógł: 9 Dołączył: 25.05.2013 Ostrzeżenie: (0%)
|
zawsze wskazuje na bieżący katalog, użyj:
-------------------- |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 375 Pomógł: 20 Dołączył: 28.07.2006 Ostrzeżenie: (0%)
|
Chodzi o ścieżkę, którą przekazujemy do <base href="{URL}">, aby działały przyjazne URL.
Zapisywać domenę i ścieżkę przy instalacji? Czemu nie. Odciążymy serwer, bo nie będzie ich wykrywał przy każdym żądaniu. W razie potrzeby admin zmieni dane w ustawieniach. Czy to dobry pomysł? Są sytuacje awaryjne: 1. Kupujemy lub zmieniamy domenę 2. Przenosimy skrypt do innego folderu 3. Mamy skrypt na localhost, a podajemy osobom postronnym nasz IP 4. Odpalamy przeglądarkę na maszynie wirtualnej i podajemy IP 5. Możliwe inne komplikacje tutaj niewymienione Z tego wynika, że lepiej wykrywać ścieżkę automatycznie. Ktoś ma lepszy pomysł, aby rozwiązać problem przedstawiony w pierwszym poście? Jednak istnieją zagrożenia związane z automatycznym wykrywaniem: http://www.skeletonscribe.net/2013/05/prac...er-attacks.html Ten post edytował WebCM 12.08.2013, 02:10:33 -------------------- „Jesteśmy różni, pochodzimy z różnych stron Polski, mamy różne zainteresowania, ale łączy nas jeden cel. Cel ten to Ojczyna, dla której chcemy żyć i pracować.” Roman Dmowski
|
|
|
|
![]() ![]() |
|
Aktualny czas: 20.08.2025 - 03:32 |