Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Zakaz bezpośredniego odwoływania się do podstron
Forum PHP.pl > Forum > Przedszkole
petavius
Witam
Czy jest możliwe w php zakazanie bezpośredniego odwoływania się do określonych podstron?
Załóżmy, że mam taki projekt

/index.php
/PODSTRONY/strona1.php
/PODSTRONY/strona2.php

Czy jest możliwość takiej konfiguracji, żeby można było wyswietlic strony strona1.php i strona2.php ale tylko z linku w index.php. Kiedy użytkownik wpisze adres http://localhost/PODSTRONY/strona1.php to mu się ona nie wyświetli ale jak kliknie link <a href = "podstrony/strona1.php">Strona1</a> znajdujący się w index.php to wtedy strona sie pojawi.

Prosze o pomoc
Pozdrawiam.
CuteOne
Utwórz plik .htaccess w nadrzędnym folderze (tam gdzie masz index.php) i wrzuć do niego

Kod
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
petavius
Nie działa :/ - Albo coś sknociłem albo podałem zbyt ogólnikowy przykład lub źle opisałem. Opisze może jak to jest w moim projekcie.
projekt wygląda tak:

/index.php
/ENGINE/eLogowanie.php
/VIEW/vLogowanie.php

chodzi o to, że uzytkownik na stronie http;//localhost/VIEW/vLogowanie.php wypełnia formularz logowania klika zaloguj, skrypt przenosi go do /ENGINE/eLogowanie.php i tam w zalezności od rezultatu loginu i hasła (podania go lub nie) zostaje przekierowany dalej. Chodzi o to, żeby odpalenie /ENGINE/eLogowanie.php było mozliwe jedynie z linka, żeby uzytkownik wpisujac w przeglądarkę http://localhost/ENGINE/eLogowanie.php nie odpalił skryptu ale jeśli kliknie zaloguj na VLogowanie.php to powinno zadziałać.

w/w przykład nie dziala (obojetnie w ktorym folderze umieszczam .htaccess)
Pozdrawiam
CuteOne
Masz źle skonstruowaną aplikację. Każde żądanie powinno przechodzić przez tzw. bootstrap w twoim wypadku, może nim być index.php. Dopiero w index.php includujesz odpowiednie pliki np. eLogowanie.php

Ściągnij sobie jakąś gotową aplikację i zobacz jak rozwiązano tego typu problem
petavius
Ok wielkie dzięki, zaraz sobie poszukam.
Pozdrawiam.
szczemp
możesz przycisk zaloguj zrobić taki:
  1. <input type = "submit" name = "zaloguj" value = "Zaloguj"/>

i potem trzy odbieraniu danych z formularza sprawdzić czy zmienna $_POST['zaloguj'] ma wartość Zaloguj i podjąć odpowiednie działanie
ale CuteOne dobrze mówi, że wszystko powinno przechodzić przez jeden plik
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.