Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> zabezpieczenie plików
sakowa
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 4.04.2008

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


witam
mam pytanko, jeśli stworzymy plik php do wyświetlania plików jpg, to ukryjemy nazwe pliku jpg. Potem przez mod rewrite chce ukryć nazwe tego pliku php zmieniając jego nazwę. Czy ten sposób jest dobry na podejrzenie ścieżki do obrazka. Aha chciałbym też pozyskać informacji jakimi sposobami mogą hakerzy wyciągnąć te obrazki (zaczynam dopiero z php i htaccess). Jeśli ktoś zna jeszcze ciekawe zabezpieczenia to z góry wielkie dzięki za odpowiedzi.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
Kicok
post
Post #2





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


Cytat
Aha chciałbym też pozyskać informacji jakimi sposobami mogą hakerzy wyciągnąć te obrazki


Hakerzy mogą otworzyć w przeglądarce http://twojastrona.pl/pokaz_obrazek.php?id_obrazka=1234 i dać Plik -> Zapisz jako ;]


A tak na poważnie, to wrzuć do katalogu z obrazkami pusty plik index.html aby zapobiec listowaniu plików.
Jeśli chcesz całkowicie zablokować dostęp do tego katalogu przez HTTP, to wrzuć do niego plik .htaccess o treści:
Kod
deny from all
Go to the top of the page
+Quote Post
sakowa
post
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 4.04.2008

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


Cytat(Kicok @ 4.04.2008, 20:20:48 ) *
Hakerzy mogą otworzyć w przeglądarce http://twojastrona.pl/pokaz_obrazek.php?id_obrazka=1234 i dać Plik -> Zapisz jako ;]


Okey z tym masz racje ale u mnie to nie wchdzi w gre natomiast jeśli wezme deny from all to wtedy nie pokazują mi się te obrazki na stronie. A jesli o zabezpiecznie pliku htaccess to wystraczy to
<Files .htaccess>
order allow,deny
deny from all
</Files>
czy nie (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
Kicok
post
Post #4





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


Cytat
jeśli wezme deny from all to wtedy nie pokazują mi się te obrazki na stronie


No ale jeśli pojawiają się na stronie, to będzie można je zapisać na dysku. A jeśli Plik->Zapisz jako nie wchodzi w grę, to zawsze można na klawiaturze kliknąć PrintScreen ;]
Poza tym o deny from all pisałem w kontekście pliku PHP odpowiedzialnego za wyświetlanie obrazków.


Może napisz dokładniej co chcesz osiągnąć
Go to the top of the page
+Quote Post
sakowa
post
Post #5





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 4.04.2008

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


Bo chodzi o to żeby użytkownik nie zobaczył w jakim katalogu przetrzymuje te obrazki. A o zapisywanie mi nie chodzi.
Go to the top of the page
+Quote Post
bełdzio
post
Post #6





Grupa: Zarejestrowani
Postów: 690
Pomógł: 81
Dołączył: 6.04.2005
Skąd: Szczecin

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


to w czym problem? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) jako parametr skryptu pobieraj nazwe pliku, a poźniej za pomocą readfile wczytaj go z "tajnego" katalogu - pamiętaj o wysłaniu odpowiedniego nagłówka Content-type
Go to the top of the page
+Quote Post
Kicok
post
Post #7





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


No to skorzystaj z rozwiązania, które SAM podałeś w swoim pierwszym poście ;] A mianowicie plik php do wyświetlania obrazków. Później zamiast:
  1. <img src="tajny_katalog/obrazki/obrazek1.jpg" />

będziesz mógł pisać:
  1. <img src="pokaz_obrazek.php?nazwa=obrazek1.jpg" />



Przydatne funkcje:
- header" title="Zobacz w manualu PHP" target="_manual (poczytaj też komentarze do tej funkcji - powinien tam nawet być jakiś kod do wyświetlania obrazków, to możesz zgapić ;])
- str_replace" title="Zobacz w manualu PHP" target="_manual (wywal wszystkie wystąpienia / i \ w $_GET['nazwa'] )
- file_exists" title="Zobacz w manualu PHP" target="_manual
- pathinfo" title="Zobacz w manualu PHP" target="_manual
- strtolower" title="Zobacz w manualu PHP" target="_manual
- readfile" title="Zobacz w manualu PHP" target="_manual

Będziesz musiał wysłać nagłówek z typem obrazka, który można określić na podstawie jego rozszerzenia. Użyj pathinfo" title="Zobacz w manualu PHP" target="_manual do wyciągnięcia rozszerzenia z $_GET['name'], potraktuj je funkcją strtolower" title="Zobacz w manualu PHP" target="_manual i przy pomocy switch porównaj z popularnymi rozszerzeniami obrazków.
Jeśli nie znajdziesz obrazka albo nie rozpoznasz jego rozszerzenia, to wyślij nagłówek "Status: 404 Not Found"


Można jeszcze do tego dodać obsługę nagłówków "Content-Size", "Content-Disposition", "Last-Modified", "If-Modified-Since", "If-None-Match" czy "Etag"
Go to the top of the page
+Quote Post
sakowa
post
Post #8





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 4.04.2008

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


Spoko dzięki za posty, po prostu chciałem zaciągnąć informacji czy są lepsze sposoby na ukrywanie katalogów.

Pozdro (IMG:http://forum.php.pl/style_emoticons/default/party.gif)
Go to the top of the page
+Quote Post
em1X
post
Post #9





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

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


no są, wystarczy sobie utworzyć subdomenę, która będzie wskazywała na folder z obrazkami (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
ja często tak robię zakładając subdomenkę static.domena.com, która wskazuje na obrazki w serwisie:

  1. <img src="http://static.domena.com/test.jpg" alt="tajne ;)" />


ewentualnie skorzystać z mod rewrite.
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: 20.09.2025 - 05:17