как мога да скрия файл

htmlcheto

Registered
как мога да скрия част от файловете си на хоста такаче да не могат да бъдат изтеглени (примерно някоя картинка).
 
слагам този код в .htaccess
Код:
Redirect 301 /kartinka.jpg http://www.data.bg/

прехвърля ме само веднъж и след това ми показва че картинката не съществува
 
ако дадена картинка се вижда в сайта това значи че няма начин да се скрие

или с две дума казано всичко което може да се види и чуе може и да са копира/запише

същото важи и за HTML и javascript кода
ако тези неща се скрият от потребителя това значи че просто няма сайт
 
htmlcheto каза:
а има ли някакъв начин да разбера че потребителя е написал url адреса на картинката
ами реално погледнато за да може картинката да се изведа на страницата ти трябва url адрес
тоест не можеш да разбереш дали потребителя е отворил само картинката или е отворил самата страница и от там гледа картинката

но има и решение
създаваш си един php файл който ще има за цел да показва дадена картинка

ето ти пример за този файл
viewimage.php
Код:
<?php
session_start();

if ($_SESSION['vt'] > time())
	die('nqmate dostup');

$img = $_GET['img'];
if (file_exists('./images/'.$img))
{
	header('Content-Type: '.image_type_to_mime_type(exif_imagetype('./images/'.$img));
	echo file_get_contents('./images/'.$img);
}
?>

този файл прави много просто нещо проверяма дали променливата съхранявана в сесия vt е по голяма от сегашното време
ако е по голяма това значи че потребителя не е посещавал сайта ами просто е заредил картинката или я използва в своя сайт
а ако времето е по малко тогава показваме дадената картинка която трябва да се намира в папката images
името на картинката го разбираме чрез GET променливата img


но за да работи както трябва на всяка страница кадето извеждаш картинка трябва най-отгоре на php файла да сложиш следният код
Код:
<?php
session_start();
$_SESSION['vt'] = time()+20;
?>
така потребителя ще може да зареди картинката само 20 секунди по късно след посещението на страницата
ако потребителя е посетил страницата то тогава браузера ще зареди картинката много преди да са изтекли 20-те секунди

кода съм го писал директно при поста и не съм го тествал
ако има някакавпроблем пише
 

Back
Горе