Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Ograniczony dostęp do grafiki
kamillo121
post
Post #1





Grupa: Zarejestrowani
Postów: 127
Pomógł: 6
Dołączył: 26.07.2009

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


Witam, chcę zrobić coś takiego, że tylko z określonego linku (np stronka.pl/unikalnyid) będzie dostęp do danej grafiki. Wiem jak to zrobić tylko pytanie czy to nie będzie za wolne ? może ktoś robił już coś takiego i wie jak jest z szybkością ?
Co by skrypt wykonywał ?
1otwarcie pliku z linkami(adresy które mogą uzyskać dostęp do danej grafiki)
2sprawdzenie linku ze wszystkimi(jeżeli dobry patrz 3 jeżeli nie 3.5)
3zwróć grafikę jednym ze sposobów a1 lub a2
3.5 wyświetl komunikat z błędem

sposób a1: obrazek otwierany przez GD w php i zwracany
sposób a2: przekierowanie na obrazek

Powiedzmy, że strony generowane na podstawie grafiki z 'określonym dostępem' korzystała by z około 4-10 grafik o wadze od 2kb do 600kb format png

Proszę o Wasze zdanie, co o tym sądzicie ? sposób a1 czy a2 ?

Ten post edytował kamillo121 13.11.2010, 00:48:10
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
nekomata
post
Post #2





Grupa: Zarejestrowani
Postów: 314
Pomógł: 44
Dołączył: 12.11.2010
Skąd: UK

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


Nie znam się za bardzo ale ja wpuścił nazwy obrazków do bazy danych albo bym wprowadził nazwy obrazków do kodu źródłowego (jeśli jest ich mało) a potem $_POST albo $_GET bym wyciągnął unikalny id i nie bawił się z przekierowaniem tylko wpuścił obrazek za pomocą echo i po problemie jeśli nie istniałby unikalny id albo był niepoprawny bym wyświetlił błąd i finito.Sam dopiero zaczynam z php ale myślę ze takie rozwiązanie byłoby najprostsze.
Go to the top of the page
+Quote Post
kamillo121
post
Post #3





Grupa: Zarejestrowani
Postów: 127
Pomógł: 6
Dołączył: 26.07.2009

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


No tak tylko, że baza danych odpada, dlaczego ? dlatego, że adresów z dostępem nie będzie dużo i nie chce obciążać jeszcze bazą danych niepotrzebnie dla nazwa obrazków, zastanawia mnie tylko czy przekierowanie będzie szybsze czy może przez GD (IMG:style_emoticons/default/sciana.gif)


//nazwa grafiki będzie podawana w linku więc przechowywanie nazw jest niepotrzebne (IMG:style_emoticons/default/winksmiley.jpg)

Ten post edytował kamillo121 13.11.2010, 12:19:28
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
sposób a1: obrazek otwierany przez GD w php i zwracany
sposób a2: przekierowanie na obrazek

1) zeby zwrocic obrazek nie jest ci potrzebe zadne GD. Obrazek to zwykly plik + odpowiedni nagłówek (header). Skądżeś te GD wytrzasnął? GD służy do obróbki obrazka a nie do jego zwracania
2) Jak zrobisz przekierowanie na obrazek, to znaczy ze obrazek będzie dostępny normalnie przez WWW. Skoro bedzie dostepny przez WWW to na grzyba w ogóle się bawisz w jakies sprawdzania? Skoro mogę podac bezposredni adres i go sobie pobrac?
Go to the top of the page
+Quote Post
kamillo121
post
Post #5





Grupa: Zarejestrowani
Postów: 127
Pomógł: 6
Dołączył: 26.07.2009

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


Hm no w sumie tak (IMG:style_emoticons/default/aaevil.gif)

np w ten sposób ?
  1. header('Content-Disposition: Attachment;filename=image.png');
  2. header('Content-type: image/png');
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




chyba tak.
Oczywiscie brakuje jeszcze zwrocenia zawartosci obrazka, np. readfile() (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
kamillo121
post
Post #7





Grupa: Zarejestrowani
Postów: 127
Pomógł: 6
Dołączył: 26.07.2009

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


dałem tak:
  1. header('Content-Disposition:inline');
  2. header('Content-type: image/png');
  3. readfile('image.png');


i działa, dzięki (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 24.12.2025 - 16:31