Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Foto w DB czy tylko odnośniki.
Lk_hc
post 29.12.2008, 11:39:45
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 1
Dołączył: 12.06.2006

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


Czy warto w bazie składować zdjęcia w BLOBach czy lepiej w DB trzymać tylko linki bezwzględne do fotek znajdujących się na dysku. Dodam, że zależy mi aby utrudnić dostęp hurtowy do zdjęć.
Go to the top of the page
+Quote Post
Riklaunim
post 29.12.2008, 11:52:26
Post #2





Grupa: Zarejestrowani
Postów: 640
Pomógł: 44
Dołączył: 8.02.2004

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


Na dysku. Wystarczy że do nazw plików (jeżeli nazwy są łatwe do odgadnięcia) dodasz jakieś losowe ciągi znaków np. fotka_w393kjsa.jpg i z automatu pobrać wszystkiego nie będzie można.


--------------------
Biblioteki: Skrypty, CMS | Kurs PHP | Python
Go to the top of the page
+Quote Post
flashdev
post 29.12.2008, 12:21:01
Post #3





Grupa: Zarejestrowani
Postów: 812
Pomógł: 117
Dołączył: 2.12.2008

Ostrzeżenie: (10%)
X----


Temat poruszany wiele razy.

A jeśli chodzi o utrudnienie hurtowego dostępu, to najlepiej zrób jakieś ograniczenia na IP.

Cytat(Riklaunim @ 29.12.2008, 11:52:26 ) *
Na dysku. Wystarczy że do nazw plików (jeżeli nazwy są łatwe do odgadnięcia) dodasz jakieś losowe ciągi znaków np. fotka_w393kjsa.jpg i z automatu pobrać wszystkiego nie będzie można.


Pod warunkiem, że nie znamy adresów do tych plików. A pliki zazwyczaj umieszcza się na serwerze po to aby użytkownicy mogli je ściagać, więc te adresy też będzie mozna wyciągnać jakimś botem z treści strony.


--------------------
Go to the top of the page
+Quote Post
krowal
post 29.12.2008, 12:23:27
Post #4





Grupa: Zarejestrowani
Postów: 561
Pomógł: 72
Dołączył: 15.11.2006

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


Możesz jeszcze zabezpieczyć fotki znakiem wodnym i przepuszczać je przez skrypt php, który będzie ten znak rysował w locie (bez zmian w oryginale) a katalog z fotkami zabezpieczyć całkowicie przez blokowanie w .htaccess


--------------------
Nawet świnka może wejść na drzewo kiedy jest chwalona :)
Go to the top of the page
+Quote Post
Lk_hc
post 29.12.2008, 12:51:48
Post #5





Grupa: Zarejestrowani
Postów: 36
Pomógł: 1
Dołączył: 12.06.2006

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


Cytat(flashdev @ 29.12.2008, 12:21:01 ) *
A pliki zazwyczaj umieszcza się na serwerze po to aby użytkownicy mogli je ściągać, więc te adresy też będzie można wyciągnąć jakimś botem z treści strony.

W tym przypadku nie żeby ściągać, a żeby oglądać. W pełni zgadzam się co do problemu przeskanowania kodu źródłowego przez jakiegoś bota. Tego problemu uniknąłbym właśnie poprze składowanie Foto w DB. Nie jest to chyba taki tragiczny pomysł. Zdjęcia są małe.

Cytat(krowal)
...katalog z fotkami zabezpieczyć całkowicie przez blokowanie w .htaccess


Katalog to mogę spokojnie zapodać nawet poza public_html - to nie jest problem.
Go to the top of the page
+Quote Post
flashdev
post 29.12.2008, 13:03:18
Post #6





Grupa: Zarejestrowani
Postów: 812
Pomógł: 117
Dołączył: 2.12.2008

Ostrzeżenie: (10%)
X----


Cytat(Lk_hc @ 29.12.2008, 12:51:48 ) *
W tym przypadku nie żeby ściągać, a żeby oglądać. W pełni zgadzam się co do problemu przeskanowania kodu źródłowego przez jakiegoś bota. Tego problemu uniknąłbym właśnie poprze składowanie Foto w DB. Nie jest to chyba taki tragiczny pomysł. Zdjęcia są małe.
Katalog to mogę spokojnie zapodać nawet poza public_html - to nie jest problem.


Tutaj miałem na myśli, że obejrzenie = ściagniecie smile.gif
Nie rozumiem w jaki sposób chcesz uniknąć tego problemu przez umieszczenie danych w bazie.
W dalszym ciągu, aby je odczytać musisz podać do zdjęcia link. I nie ważne czy to będzie link zakończony ".jpg" czy ".php" bot w dalszym ciągu będzie mógł zebrać wszystkie linki i ściągnąć dane.
Trudno wybrać sensowne wyjście z problemu nie wiedząc do czego to ma być zastosowane.
W każdym razie wyjścia jakie mi sie na suwaja to:
- ograniczenie ilości zdjeć/ilości MB na dany IP
- prośba o wpisanie odczytanie captcha
- prośba o wpisanie odczytanie captcha w przypadku przekroczenia limitu
- limit na danego użytkownika, jeżeli oglądanie zdjeć wymaga zalogowania się


--------------------
Go to the top of the page
+Quote Post
Lk_hc
post 29.12.2008, 15:10:41
Post #7





Grupa: Zarejestrowani
Postów: 36
Pomógł: 1
Dołączył: 12.06.2006

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


Jak z tego zrobić obrazek: http://loko.rootnode.net/sf/web/firstmod/pic
?

Kod pliku:
  1. <?php
  2. if (!empty($img))
  3. {
  4. //Change content type to your file type
  5. header("Content-Type: image/tif");
  6. print_r ($img);
  7. }
  8. ?>


$img to BLOB, obrazek wyciągnięty z bazy.
Go to the top of the page
+Quote Post
Riklaunim
post 29.12.2008, 15:20:42
Post #8





Grupa: Zarejestrowani
Postów: 640
Pomógł: 44
Dołączył: 8.02.2004

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


tam masz obiekt, a nie tylko sam kod grafiki.

PS. na dużą skalę wydajne to to nie będzie smile.gif


--------------------
Biblioteki: Skrypty, CMS | Kurs PHP | Python
Go to the top of the page
+Quote Post
Lk_hc
post 29.12.2008, 15:27:33
Post #9





Grupa: Zarejestrowani
Postów: 36
Pomógł: 1
Dołączył: 12.06.2006

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


No raczej nie. I tak chyba zrobię to poprzez składowanie odnośników w DB ale chce okiełznać tego pieprzonego BLOBa dla własnej satysfakcji sciana.gif
smile.gif

Ten post edytował Lk_hc 29.12.2008, 15:31:08
Go to the top of the page
+Quote Post
flashdev
post 29.12.2008, 15:31:34
Post #10





Grupa: Zarejestrowani
Postów: 812
Pomógł: 117
Dołączył: 2.12.2008

Ostrzeżenie: (10%)
X----


Cytat(Lk_hc @ 29.12.2008, 15:10:41 ) *
Jak z tego zrobić obrazek: http://loko.rootnode.net/sf/web/firstmod/pic
?

Kod pliku:
  1. <?php
  2. if (!empty($img))
  3. {
  4. //Change content type to your file type
  5. header("Content-Type: image/tif");
  6. print_r ($img);
  7. }
  8. ?>


$img to BLOB, obrazek wyciągnięty z bazy.



To co jest zwracane z pod tego adresu napewno nie jest kodem obrazka. Przynajmniej nie jest to sam obrazek tak jak Riklaunim wspomniał.
I sprawdź jeszcze czy nie wysyłasz enterów (\n\r) przed wysłaniem nagłówka, bo przeglądarka powinna to chociaż próbować wyświetlić jako obrazek tiff.

Ten post edytował flashdev 29.12.2008, 15:32:04


--------------------
Go to the top of the page
+Quote Post
Lk_hc
post 29.12.2008, 15:48:43
Post #11





Grupa: Zarejestrowani
Postów: 36
Pomógł: 1
Dołączył: 12.06.2006

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


Usunąłem spacje i jakieś inne takie pierdoły - ciągle to samo czyli krzaki. Jak sobie poradzić z tym obiektem?

Solved

Obrazek się nie wyświetlał bo był wstawiony w widok, który to widok tworzy symfony a więc headery rozpieprzone były. Zrobiłem SfView::NONE, $response->setContentType('image/jpg'), $response->setContent(zmienna zawierająca kod obrazka); i jest ok.

To już chyba offtop trochę wstydnis.gif

party.gif

Ten post edytował Lk_hc 29.12.2008, 16:48:55
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 Wersja Lo-Fi Aktualny czas: 27.04.2024 - 17:21