Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Jak zrobić żeby nie dało się wchodzić do pliku php bezpośrednio tylko przez mod_rewrite?
Forum PHP.pl > Forum > Przedszkole
Norbit_24
Jak zrobić żeby nie dało się wchodzić do pliku bezpośrednio czyli za pomocą: strona.pl/plik.php OR strona.pl/plik.php?cos=2 tylko przez mod_rewrite czyli: strona.pl/plik OR strona.pl/plik,123,d itd


Spawnm
poczytaj o przyjaznych linkach i routingu.
Norbit_24
Chyba źle zadałem pytanie. Wiem jak to stosować i jest ok. Ale jak zablokować możliwość wchodzenia z rozszerzeniami?
Spawnm
może do folderu z plikami dodaj plik .htaccess z
Kod
order allow,deny deny from all
Norbit_24
Dzięki za chęci ale nie o to mi chodzi., skrypt się wtedy sypie. Bo nie daje dostępu do plików...
Ja chcę do nich wchodzić, ale tylko przez mod_rewrite == przyjazne linki bez rozszerzeń

A gdy ktoś będzie chciał wejść w: cos.php?cos=1 to żeby wywalało że nie ma takiego pliku chciaż on istnieje.
erix
Przed wszystkimi regułami:
[APACHE] pobierz, plaintext
  1. RewriteCond %{REQUEST_URI} -f
  2. RewriteCond %{REQUEST_URI} \.php$
  3. RewriteRule .* - [L]
[APACHE] pobierz, plaintext
Norbit_24
Dzięki, jednak nie działa. Nie wiem czy coś źle robię. Ale dodanie tego kodu nic nie zmienia. Pisałeś, że przed wszystkimi regułami.
Daje kawałek kodu:

[APACHE] pobierz, plaintext
  1. RewriteEngine On
  2.  
  3. RewriteCond %{REQUEST_URI} -f
  4. RewriteCond %{REQUEST_URI} \.php$
  5. RewriteRule .* - [L]
  6.  
  7. RewriteRule ^panel/index$ panel/index.php
  8. RewriteRule ^panel/login$ include/form_login.php
  9. RewriteRule ^panel/wyloguj$ include/wyloguj.php?wyloguj=1
  10. RewriteRule ^panel/konto$ panel/index.php?page=1
[APACHE] pobierz, plaintext


np. wylogować mogę się linkiem: panel/login
a także: include/wyloguj.php?wyloguj=1

EDIT://
Nie wiecie jak to rozwiązać?
kipero
Wyświetl sobie:
  1. print_r($_SERVER);

W jednej ze zmiennych znajdziesz adres do wywołanego pliku - sprawdzasz czy user wchodzi poprzez link z mod_rewrite czy bezpośrednio i albo wykonujesz jakąś akcję albo rzucasz błędem. Powinieneś sobie poradzić samodzielnie.
erix
Wywal inne reguły na próbę i sprawdź, czy działa w ten sposó.
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.