Witaj
Najpierw zabezpiecz zdjęcia:
Jeśli twój serwer www to Apache zrób plik . htaccess w katalogu ze zdjeciami.
W pliku umieść wpis „deny from all” to zabezpieczy pliki przed dostępnem z internetu wiecej o Apache i . htaccess na stronie:
http://webdeveloper.pl/Teraz mamy zabezpieczone zdjęcia przed niepowołanym dostępem.
Inny sposób zabezpieczenia to przeniesienie zdjęc z katalog dokumentów www serwera do jakiegoś bardziej bezpiecznego miejsca
Udostępnij zdjęcia za pomocą skryptuNiech udostępnianiem zdjęć zajmie się skrypt php np. o nazwie image.php
Skrypt bedzie dział na zasadzie "bramki" odbiera żądanie, sprawdza użytkownika i odsyła plik
a obrazki wstawiasz:
<img src="image.php?img=xxxx" alt=" obrazek "/>
xxx-nazwa pliku znajdującego się w bezpiecznym katalogu
Przykład
<?php
/*****************************************************************
Copyright (C) 2005 Sebastian Siennicki
Contact:
email: kontakt [at] number0.info
www: http://number0.info/
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
More Info About The Licence At http://www.gnu.org/copyleft/gpl.html
******************************************************************/
// domyślny katalog z plikami
define('IMAGE_DIR', './img/');
// domyślne obrazki z komunikatami
define('IMAGE_NOT_FOUND', 'not_found.png'); define('IMAGE_UNAUTHORIZED', 'unauthorized.png'); define('IMAGE_DEFAULT', 'default.png');
// tabelka mime types
$ext = array( 'image/gif' => 'gif', 'image/jpeg' => 'jpg',
'image/png' => 'png'
);
// sprawdzamy obecność domyślnych plików
)
{
}
// Funkcja wysyłająca wskazany plik
// z katalogu IMAGE_DIR
function sendFile($image)
{
// sprawdzamy czy plik istnieje
{
// Brak żądanego pliku
sendFile(IMAGE_NOT_FOUND);
}
// sprawdzanie typu pliku
if( $type == FALSE)
{
// brak zdefiniwenego typu mime
sendFile(IMAGE_DEFAULT);
}
// wysyłanie nagłówków http
header("Content-Type: $type"); header("Content-Disposition: inline; filename=$image");
// wysyłanie wskazanego pliku z IMAGE_DIR
}
// tu wstawiamy mechanizm autoryzacji użytkownika
$auth = TRUE;
// ustawianie nazwy żądanego pliku
// trzeba dodać sprawdzanie poprawności
$image = $_GET['img'];
if ($image =='')
{
// nie zdefiniowano pliku
sendFile(IMAGE_DEFAULT);
}
// sprawdzanie dostępu użytkownika
if ($auth == TRUE)
{
// użytkownik posiada prawa
sendFile($image);
}
else
{
// brak dostępu do pliku
sendFile(IMAGE_UNAUTHORIZED);
}
?>