Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zdjęcie widoczne na stronie, poza stroną nie można go wyświetlić
Forum PHP.pl > Forum > PHP
windman
Witam,

Jakie są metody aby na stronie zabezpieczonej hasłem wyświetlane było zdjęcie z pewnego katalogu na serwerze (tzn. to wiem) i jednocześnie aby katalogu i jego zawartości nie można było otworzyć z paska adresowego (tego nie wiem), czyli np. www.serwer.pl/kat1/zdjecie.jpg - nie można otworzyć
Innymi słowy aby zawartość pewnego katalogu była dostępna tylko po zalogowaniu na stronie.
Serwer jest na windowsie.

Pozdrawiam
bełdzio
1. wyswietlaj pliki przez skrypt php a nie bezposrednio
2. wrzuc katalog z fotami nad public_html albo wrzuc do niego .htaccess z blokowaniem dostepu
windman
Cytat(bełdzio @ 13.08.2008, 07:52:23 ) *
1. wyswietlaj pliki przez skrypt php a nie bezposrednio

Co masz na myśli?
ucho
To znaczy:
- sprawdzasz czy user jest zalogowany
- pobierasz obrazek z dysku za pomoca np: get_file_content()
- ustawiasz header z odpowiednim content type
- wysyłasz zawartość pliku do przeglądarki
windman
Cytat(ucho @ 13.08.2008, 10:46:48 ) *
To znaczy:
- sprawdzasz czy user jest zalogowany
- pobierasz obrazek z dysku za pomoca np: get_file_content()
- ustawiasz header z odpowiednim content type
- wysyłasz zawartość pliku do przeglądarki

Problem w tym, że obrazek będzie odświeżany na stronie co sekundę przez JS.

Można tak ustawić htaccess w katalogu, że pliki w nim dostępne będą dla skryptów wykonywanych na serwerze, dla reszty niedostępne?
wrzasq
@windman: co za roznica co ile czasu? to tylko przesylanie obrazka, kazdy robisz po prostu tak samo. ale zamiast tego, co wrzucil ucho ja polecalbym sprawdzanie po propstu naglowka HTTP Referrer.
Babcia@Stefa
A ja mam niezawodny sposób guitar.gif

W pliku w którym wyświetlamy obrazek dodajemy przed wyświetleniem:
  1. <?php
  2. $_SESSION['pokazobraz'] = true;
  3. ?>


Plik który generuje obrazek odpowiednio modyfikujemy:
  1. <?php
  2. if(isset($_SESSION['pokazobraz']))
  3. {
  4. // tutaj kod który generuje obrazek
  5. unset($_SESSION['pokazobraz']);
  6. } else 
  7. echo 'stop hotlinku!';
  8. ?>


@edit
Cytat(windman)
Problem w tym, że obrazek będzie odświeżany na stronie co sekundę przez JS.

Można tak ustawić htaccess w katalogu, że pliki w nim dostępne będą dla skryptów wykonywanych na serwerze, dla reszty niedostępne?


To znaczy dla czego co sekundę będzie odświeżany przez JS?!

Pozdrawiam, WebNuLL(Babcia@Stefa)
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.