Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [PHP]Zabezpieczenie plików jpg, png
slewhut
post 20.07.2009, 13:25:16
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 20.07.2009

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


Piszę portal randkowy w którym część zdjęć ma być dostępna tylko dla znajomych.
Napisałem już logowanie, tworzenie nowych profili, edytowanie ich itd... Mój problem zabezpieczenia zdjęć nie dotyczy nie wyświetlania ich na stronie danego profilu (bo z tym sobie poradzę), ale bezpośredniej próby oglądnięcia zdjęcia wpisując adres zdjęcia w adresie przeglądarki.
Korzystam z sesji.

Narazie zrobiłem, że zdjęcia prywatne mają osobny folder z plikiem ".htaccess" o treści "Deny from all" no i do samych zdjęć chce się odwoływać skryptem php korzystając z GD. No i nie wiem czy jest to dobre rozwiązanie, bo będzie mocno obciążało...

Proszę o pomoc.
Go to the top of the page
+Quote Post
Fifi209
post 20.07.2009, 13:54:40
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


google -> hotlinkowanie (zabezpieczenia)


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
slewhut
post 20.07.2009, 14:14:37
Post #3





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 20.07.2009

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


No ale hotlinkowanie to zabezpieczenie przed wejściem z innej domeny (z tego co teraz czytam), a u mnie problem dotyczy wejścia nadal z tej samej domeny.

Mam folder xyz i w nim są prywatne zdjęcia. I ktoś od kolegi dostanie bezpośredni adres do obrazka www.serwis.pl/xyz/obrazek.jpg no i go oglądnie. A ja chce aby tylko zalogowani uzytkownicy mogli oglądnąć ten obrazek.
Go to the top of the page
+Quote Post
Marcuez
post 20.07.2009, 14:19:06
Post #4





Grupa: Zarejestrowani
Postów: 98
Pomógł: 1
Dołączył: 7.07.2009
Skąd: Poligon Osielsko

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


Cięzko będzie bo nawet z naszej-klasy można odczytać obrazki bez zalogowania.
Look http://photos.nasza-klasa.pl/11659879/9/main/bba434d184.jpeg


--------------------
- No powiedz jak to zrobić!
- Wujek Google nie boli...
- Dziadek Marcuez mi powie :)
- -.-
Go to the top of the page
+Quote Post
slewhut
post 20.07.2009, 14:25:15
Post #5





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 20.07.2009

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


Mogę naprawdę zaszaleć i użyć GD, tak że do obrazków prywatnych będę za każdym razem sprawdzał czy zalogowany profil jest znajomym właściciela danego obrazka (minimum 3 strzały mysqla) HORROR exclamation.gif Chociaż może sesje jakoś wykorzystać... I wtedy zrobić to tak, że wchodząc na profil w sesji pojawia mi się tablica obrazków prywatnych do oglądnięcia, a już sam obrazek sprawdza czy znajduje się w sesji... Chociaż i to nie jest do ominięcia biggrin.gif
Go to the top of the page
+Quote Post
erix
post 20.07.2009, 14:26:20
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
ale bezpośredniej próby oglądnięcia zdjęcia wpisując adres zdjęcia w adresie przeglądarki.

Chyba obejrzenia... dry.gif

Walczysz z wiatrakami, tyle powiem.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
slewhut
post 20.07.2009, 14:29:51
Post #7





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 20.07.2009

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


No co wy gadacie?? Naprawdę jest to aż tak złożone zagadnienie? Nikt mi nie może pomóc? Żadnych zabezpieczeń?
Go to the top of the page
+Quote Post
erix
post 20.07.2009, 14:35:55
Post #8





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




NIE DA SIĘ.

Wszystko, co trafia do przeglądarki, można zapisać. I nawet nie dyskutuj, bo można wcisnąć przecież print-screen i na nic Twoje "zabezpieczenia".

Nie da się i już.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
slewhut
post 20.07.2009, 14:39:55
Post #9





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 20.07.2009

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


No dobrze masz rację. Print screen... No dobrze, a jak zablokować dostęp bezpośrednio do folderu? Pod tym względem jestem zielony... Tzn aby nie można było wejść w sam folder ze zdjęciami... Wystarczy tam stworzyć index.html? Czy jakoś to będzie można obejść? Interesowało by mnie poprostu bezpośrednie przekierowanie na główna stronę serwisu jakoś mi pomoże w tym .htaccess questionmark.gif

Ten post edytował slewhut 20.07.2009, 15:06:48
Go to the top of the page
+Quote Post
Daiquiri
post 20.07.2009, 17:12:13
Post #10





Grupa: Administratorzy
Postów: 1 552
Pomógł: 211
Dołączył: 7.07.2009
Skąd: NJ




Cytat(slewhut @ 20.07.2009, 15:39:55 ) *
Wystarczy tam stworzyć index.html? questionmark.gif


Wtedy się nie "wylistuje", ale znając nazwę pliku wejdziesz bez problemu.

Jeżeli jesteś zdesperowany to zawsze możesz zmienić rozszerzenia plików z np. *jpeg na *xyz a przy odczytywaniu ich przez Twój system przenosić je do temp i tam zmieniać rozszerzenie na właściwe + coś na hotlinkowanie + chmody. Chociaż jak dla mnie nie ma to sensu bo i tak pliki da się zapisać, zmienić rozszerzenie na dysku i wiadomo co dalej sciana.gif.

Chyba, że będziesz wrzucał te fotki poza poza public_html.

Ten post edytował Daiquiri 20.07.2009, 17:13:28
Go to the top of the page
+Quote Post
erix
post 20.07.2009, 18:04:37
Post #11





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Ale tak, czy siak, tego przeglądarka nie odczyta. tongue.gif

Nie kombinuj tongue.gif


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Fifi209
post 21.07.2009, 01:00:29
Post #12





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Nie ma sensu nic takiego robić. Co trafia do użytkownika zawsze może być zapisywane, edytowane, usuwane. winksmiley.jpg

Foldery możesz zabezpieczać .htaccess

Z tym GD nawet niezły pomysł, ale wiesz jakie wygenerowałbyś obciążenie? snitch.gif


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
tomekpl
post 21.07.2009, 01:35:49
Post #13





Grupa: Zarejestrowani
Postów: 134
Pomógł: 5
Dołączył: 9.08.2008
Skąd: Szczecin

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


Można to zrobić smile.gif
strona.pl/images/images.php?p=43d32f4

Coś takiego i w pliku images.php ustawiasz np:

$obrazek=$_GET['p'];
$obrazek=md5($obrazek);
echo "<img src="images/$obrazek.jpg" />

A nie.. jednak się nie da tongue.gif bo i tak zobaczy. Nie wiem czy to w ogóle komu potrzebne ..
.......

Ewentualnie możesz dać mod_rewrite
s.pl/images/obrazek.jpg
gdzie obrazek.jpg nie bedzie obrazkiem lecz plikiem z php, gdzie uzyjesz warunków

Ten post edytował tomekpl 21.07.2009, 01:38:39
Go to the top of the page
+Quote Post
Agape
post 21.07.2009, 08:06:24
Post #14





Grupa: Zarejestrowani
Postów: 384
Pomógł: 13
Dołączył: 16.06.2006

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


A rapidshare? Nie da się pobrać pliku jeżeli Ci na to nie pozwoli, chociaż byś miał link. Chyba, że wygenerowany przez konto premium, ale nie da się go "wyczarować" ot tak, trzeba mieć konto premium. Serwis istnieje od tylu lat i nie ma na niego sposobu.

Nie wiem jak dokładnie jest to zrobione ale daje tylko przykład.

Ps. Patrzyłeś czy jakiś serwis tego typu ma zabezpieczone fotki? Jak nie to nie ma co się trudzić wydaje mi się. Chyba, że to ma być jakiś atut portalu którym chcesz się chwalić.


--------------------
Go to the top of the page
+Quote Post
wookieb
post 21.07.2009, 08:11:00
Post #15





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Możesz zrobić dostęp do zdjęcia tylko po zalogowaniu. Takie coś jest możliwe.


--------------------
Go to the top of the page
+Quote Post
pyro
post 21.07.2009, 08:14:58
Post #16





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


Jest to bez sensu, ale da się (nie wiem czemu Panowie wyżej mówią, że nie).

- Folder ze zdjęciami i .htaccess `Deny From All`
- Odwoływanie się do zdjęcia np. poprzez $_GET['image'];

fotka.php

  1. <?php
  2. if(!empty($_SESSION['logged'])  /* i tutaj sprawdzasz co chcesz, czy np. zmienną mowiącą, że to znajomy czy coś w tym stylu */ && file_exists($img = 'images/'.$_GET['image'].'.jpg'))
  3. {
  4. header('Content-Type: image/jpeg');
  5. readfile($img);
  6. }
  7. ?>


Oczywiście to tylko najprostszy prototyp. Dopasuj go sobie. (+ zabezpiecz)

Ten post edytował pyro 21.07.2009, 08:16:15


--------------------
ET LINGUA EIUS LOQUETUR IUDICIUM
Go to the top of the page
+Quote Post
wookieb
post 21.07.2009, 08:23:39
Post #17





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Dostep do pliku po zalogowaniu a dostep po bezposrednim adresie to jest roznica i tej drugiej nie da się zrealizować.


--------------------
Go to the top of the page
+Quote Post
pyro
post 21.07.2009, 09:06:39
Post #18





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


Cytat(wookieb @ 21.07.2009, 09:23:39 ) *
Dostep do pliku po zalogowaniu a dostep po bezposrednim adresie to jest roznica i tej drugiej nie da się zrealizować.


To nie musi być logowanie, ono wogóle nie musi istnieć. Może to być nawet zwykła strona w profilu. Przecież wyraźnie zaznaczyłem, że to tylko przykład.


--------------------
ET LINGUA EIUS LOQUETUR IUDICIUM
Go to the top of the page
+Quote Post
slewhut
post 21.07.2009, 09:48:56
Post #19





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 20.07.2009

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


To mi się podoba smile.gif Ciekawa dyskusja... Pomysł pyro w sumie opisywałem w pierwszym, czy drugim poście. Ale jak narazie nie chce aż tak bardzo zabijać serwera... Bo to wtedy zapewne byłoby mordercą mojego serwisu... Zresztą do sesji da się włamać i wcisnąć własne zmienne (o czymś takim przynajmniej czytałem, ale nie pamiętam nazwy atatku, ale to tylko na darmowych serwerach)...

Ten post edytował slewhut 21.07.2009, 09:49:28
Go to the top of the page
+Quote Post
wookieb
post 21.07.2009, 10:09:35
Post #20





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




No to tylko na darmowych, wiec czym się martwisz?


--------------------
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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 Wersja Lo-Fi Aktualny czas: 13.06.2025 - 04:44