Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Poprzednio odwiedzona ścieżka.
Forum PHP.pl > Forum > PHP
kartun11
Witam!
Mam trochę dziwny problem i nie mogę znaleźć rozwiązania, bo nawet nie wiem jak sformułować zapytanie smile.gif
Chodzi o to, że potrzebny mi jest krótki warunek.
Mam forum i powiedzmy, że ktoś wstawia linka do jakiegoś pliku, który jest ściągany przez skrypt download.php. (www.mojastrona.pl/download.php?pliczek.rar)
Ten skrypt download.php ma zawierać taki warunek: if ( $ścieżka z jakiej kliknęliśmy w link=$forum) {readfile("stop.php");exit;

Przy czym $forum to ścieżka do forum. U mnie jest to względem download.php: site/forum/

Czy taki if jest możliwy? Wydaje mi się, że tak ale nie wiem co zrobić z globalnymi $_SERVER.
Grzyw
Przetestuj skrypt z wyświetleniem zawartości:
  1. <?php
  2. echo $_SERVER['HTTP_REFERER'];
  3. ?>


Przekształcenie tej zmiennej pozwoli Ci skorzystać z tego warunku.
Athlan
Przypominam, że referer można sfałszować, jest to przecież nagłówek wysyłany przez przeglądarkę. W kwestii bezpieczeństwa możesz zapisać miejsce użytkownika w sesji. Np: $_SESSION['current_page'] = 'forum';

Zmienną nadpisywać odpowiednią wartością pod koniec wykonywania się skryptu. Jeżeli używasz struktury OOP, z pomocą przyjdzie Ci __destruct().
kartun11
Poszukałem trochę w google i znalazłem taki kod:
  1. <?php
  2. if (strstr($_SERVER['HTTP_REFERER'],"adres.pl/forum")) {
  3. header ("Location: stop.php");
  4. }
  5. ?>

Nie wiem tylko czy jakieś znaczenie ma to strstr smile.gif Ważne, że działa. Dzięki za wskazówki.
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.