Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> mod rewrite po raz kolejny, wyświetlanie plików graficznych tylko przez jedna konkretną stronę
mastah84
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 14.08.2007

Ostrzeżenie: (0%)
-----


Witam!
mam taki problem, chciałbym zeby pliki graficzne były wyświetlane tylko przez jedną konkretna strone/skrypt php. Zeby nie można było dostać sie do obraza przez podanie tylko adresu docelowego (np. htp://mojastrona.com.pl/zdjecie1.jpg). To zdjęcie ma byc wyświetlane tylko przez stronę http://mojatrona.com.pl/show.php....

czy jest jakieś rozwiązanie?

pozdrawiam
Krzysiek
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
kicaj
post
Post #2





Grupa: Zarejestrowani
Postów: 1 640
Pomógł: 28
Dołączył: 13.02.2003
Skąd: Międzyrzecz/Poznań

Ostrzeżenie: (0%)
-----


Mysle ze cos takiego bedzie dobre:
Kod
#inicjacja
RewriteEngine On
#ustawienie sciezki bezwglednej
RewriteBase /
#okreslenie rozszerzenia plikow
RewriteCond %{REQUEST_URI} \.(gif|jpg)$
#ustawienie blokady - dostepu
RewriteRule .* - [F]


Ten post edytował kicaj 14.08.2007, 13:16:47


--------------------
PHP Developer

"Nadmiar wiedzy jest równie szkodliwy jak jej brak" Émile Zola
Go to the top of the page
+Quote Post
mastah84
post
Post #3





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 14.08.2007

Ostrzeżenie: (0%)
-----


Rzeczywiście nie można otworzyć obrazka po bezpośrednim odwołaniu się do adresu. Tylko, że w tym momencie również przez strone nie można go otworzyć.
Chodzi o to zeby strona otwierała obraz, tylko bezposrednie podanie odresu do przeglądarki nie pozwalało na jego otwarcie.
Go to the top of the page
+Quote Post
kicaj
post
Post #4





Grupa: Zarejestrowani
Postów: 1 640
Pomógł: 28
Dołączył: 13.02.2003
Skąd: Międzyrzecz/Poznań

Ostrzeżenie: (0%)
-----


A odwolanie do obrazka jak wyglada?
localhost/show.php?nazwa=plik.jpg ? Jesli tak to wiadomo dlaczego nie otwiera
Zrob cos takiego /show.php?nazwa=plik a w pliku dodaj rozszerzenie

Opisz bardziej co chesz zrobic


--------------------
PHP Developer

"Nadmiar wiedzy jest równie szkodliwy jak jej brak" Émile Zola
Go to the top of the page
+Quote Post
mastah84
post
Post #5





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 14.08.2007

Ostrzeżenie: (0%)
-----


odwołanie przez skrypt wygląda tak:
Kod
http://domena.pl/show_2.php?&gal=5&foto=Grodk1629.jpg


skrypt wtedy odwołuje się do konkretnego katalogu ($_SESSION['nick']/5) i pliku (Grodk1628.jpg).

a jakie ma znaczenie odwołanie sie do pliku z rozszerzeniem i bez rozszerzenia?

docelowo jest to galeria dla klientów z ich zdjeciami, po zalogowaniu kazdy klient ma dostęp do swoich galerii i zdjec. Tylk ze znając login, numer galerii i nazwe plik mozna sobie otworzyc zdjecie przez wpisanie adresu w przegladarce.
wyglada to tak:
adres.strony/[login]/[nr_gal]/[nazwa_pliku]

chcę poprostu zeby nie można bylo otworzyć bezpośrednio pliku (przez wpisanie adresu ze w przegladarce), a jedynie przez skrypt php.

Ten post edytował mastah84 15.08.2007, 13:19:06
Go to the top of the page
+Quote Post
kicaj
post
Post #6





Grupa: Zarejestrowani
Postów: 1 640
Pomógł: 28
Dołączył: 13.02.2003
Skąd: Międzyrzecz/Poznań

Ostrzeżenie: (0%)
-----


W tresci mod_rewrite zastosowalem wyrazenie regularne dla plikow ktore koncza sie na .gif lub .jpg takze odpada taki model. Wyjsciem moze byc zmiana kolejnosci na: show_2.php?foto=Grodk1629.jpg&gal=5
Ale nie jest to rozwiazanie poprawne!

Zrob cos takiego: show_2.php?gal=5&foto=Grodk1629, a w pliku show_2.php zrob tak:
  1. <?php
  2. echo '<img src="". $nazwa_pliku .".jpg" />';
  3. ?>


--------------------
PHP Developer

"Nadmiar wiedzy jest równie szkodliwy jak jej brak" Émile Zola
Go to the top of the page
+Quote Post
mastah84
post
Post #7





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 14.08.2007

Ostrzeżenie: (0%)
-----


niestety nie pomogło
sad.gif

obrazy nie są widziane również przez stronę.

przeniosłem sie z testami na moją prywatną stronę:
http://adstudio.home.pl/mastah1/?gal=1&photo=1
adres do zdjecia:
http://adstudio.com.pl/mastah1/gal/1/_MG_5747.jpg
w tym adresie nie jest podawana nazwa pliku, nazwa zdjecia jest pobierana z bazy danych po numerze 'photo'.
Kod metody wyswietlajacej zdjecie wyglada tak:
Kod
<img src="gal/'.$this->_gallery.'/'.$this->_file_name.'" alt="'.$this->_description.'" />

gdzie zmienne są pobierane z bazy danych na podstawie id zdjecia ( photo ).

Czy nie można napisac takiej reguły która pozwala otwierać plik tylko jesli w adresie jest pewien fragment tekstu (np. photo, albo cokolwiek co nie występuje w samej nazwie? )

Ten post edytował mastah84 15.08.2007, 14:50:51
Go to the top of the page
+Quote Post
kicaj
post
Post #8





Grupa: Zarejestrowani
Postów: 1 640
Pomógł: 28
Dołączył: 13.02.2003
Skąd: Międzyrzecz/Poznań

Ostrzeżenie: (0%)
-----


Link nr 2 jest 404


--------------------
PHP Developer

"Nadmiar wiedzy jest równie szkodliwy jak jej brak" Émile Zola
Go to the top of the page
+Quote Post
mastah84
post
Post #9





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 14.08.2007

Ostrzeżenie: (0%)
-----


sorry, miało być
http://adstudio.home.pl/mastah1/gal/1/_MG_5747.jpg

w adresie jest home.pl nie com.pl
wyswitla błąd 403

Ten post edytował mastah84 15.08.2007, 15:15:23
Go to the top of the page
+Quote Post
kicaj
post
Post #10





Grupa: Zarejestrowani
Postów: 1 640
Pomógł: 28
Dołączył: 13.02.2003
Skąd: Międzyrzecz/Poznań

Ostrzeżenie: (0%)
-----


to samo...


--------------------
PHP Developer

"Nadmiar wiedzy jest równie szkodliwy jak jej brak" Émile Zola
Go to the top of the page
+Quote Post
mastah84
post
Post #11





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 14.08.2007

Ostrzeżenie: (0%)
-----


http://adstudio.home.pl/mastah1/gal/1/_MG_5747.jpg
Go to the top of the page
+Quote Post
kicaj
post
Post #12





Grupa: Zarejestrowani
Postów: 1 640
Pomógł: 28
Dołączył: 13.02.2003
Skąd: Międzyrzecz/Poznań

Ostrzeżenie: (0%)
-----


Kod
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://adstudio.home.pl/mastah1/index.php.*$ [NC]
RewriteRule .*.(jpg|gif|png)$ http://adstudio.home.pl/mastah1/nie_ogladaj_w_ten_sposob [NC]

Powinno dzialac:)


--------------------
PHP Developer

"Nadmiar wiedzy jest równie szkodliwy jak jej brak" Émile Zola
Go to the top of the page
+Quote Post
mastah84
post
Post #13





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 14.08.2007

Ostrzeżenie: (0%)
-----


dzięki, jesteś Wielki smile.gif
wszystko działa jak powinno, dodałem do reguł kilka innych stron co powinny korzystać z obrazów i jest git.

pozdrawiam
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 04:32