Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zabezpieczenie katalogu i jego zawartości php
Forum PHP.pl > Forum > PHP
ptrebacz
1)Jestem w trakcie tworzenia archiwum zdjęć, i zastanawiam się jak zabezpieczyć katalog w którym są ważne dane. Załóżmy że mamy /var/www/archiwum i teraz dostęp do niego mają tylko użytkownicy którzy są zalogowani przez skrypt autoryzacji (zyxist) bazującego na sesjach. Albo drugie rozwiązanie jak maskować plik docelowy, tak jak w większości serwisów download(np CHIP.pl) gdy ściągamy plik nie dostajemy konkretnej ścieżki tylko jakieś tam cyferki. Założenie jest takie osoba nie zautoryzowana nie może nic z tego katalog ściągnąć ani zobaczyć co w nim jest a zalogowana może np, przeglądać dowolnie ten katalog.

2)Czy php potrafi jakoś linkować ścieżki mianowicie mamy plik np. /home/piotrek/plik.jpg i chce sobie wyświetlic ten obrazek na stronie, można zrobić właściwie symlinka do katalogu piotrek i wtedy moge go zobaczyć np. http://127.0.0.1/piotrek/plik.jpg i może go zobaczyć każdy, natomiast czy da sie jakoś sprytnie ten plik zaincludować przez skrypt php i wyświetlić??
MrMag
mozesz trzymac te pliki poza public_html a zwracac je z odpowiednim headerem
suda
Co do pkt. 1 jeśli masz włączone listowanie katalagów (po wpisaniu adresu jakiegoś katalogu Apache/IIS tworzy stronkę z listą plików) wtedy stwórz w tym przykładowym /var/www/archiwum index.php który przekierowuje na główną stronę. I potem gdzieśtam plik np get_image.php pobierający parametry np. user i name który zmienia swój nagłówek na typ obrazka i includuje go. Może sprawdzać sesję jeśli obrazki mają być widoczne tylko dla zalogowanych.
ptrebacz
Wszystko ok, pomysł mi sie spodobał ale jak zainkludować obrazek??

Wie ktośquestionmark.gif
kriqs
include(); require(); file_get_contents(); sprobuj z nimi smile.gif. tylko pamiętaj o nagłówku

pozdrawiam
ptrebacz
Jeszcze nie wszytko rozumiem, o jakim nagłówku??

a ok już wiem, wszytko fajnie, tylko że nie ładuje większych zdjęć, mianowicie:
- jak dałem mu zdjęcie o rozdzielczości 200x200 to OK pięknie wyświetla
- a jak dałem 800x600 to niestety mam tylko ramke na zdjęcie

Mam tak jeden plik "get.php":
<?php

header('3.jpg');
include('home/piotrek/3.jpg');

?>

i drugi plik view.php:

<html>
<img src="get.php">
</html>

tak jak pisałem powyżej działa tylko na małych obrazkach

Nie ma to nic wspólnego z rozmiarem pliku(kb) ponieważ sprawdzałem różnymi sposobami ale doszedłem do wniosku że interpreter php szuka w nim składni i funkcji i przy innej kompresji php znalazł tam znak "=" i wywala błąd, a z kolei w tym małym pliku jak podglądnąłem co on ma bez wyświetlania w pamięci to pokazał mi sie pełny kod pliku. Jak zrobić aby on nie interpretował treści includowange pliku?? Żeby traktował go jak tekst??
suda
Nagłówku opisującym typ MIME obrazka:

GIF
  1. <?php
  2. header('Content-type: image/gif');
  3. ?>

PNG
  1. <?php
  2. header('Content-type: image/png');
  3. ?>

JPEG
  1. <?php
  2. header('Content-type: image/jpg');
  3. ?>
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.