Регистрирай се, за да свалиш

Rex

Registered
Здравейте !
Можете ли да споделите с мен скрипт който предпазва даден файл от изтеглене от нерегистриран юзър.

Напр. :
Искате да свалите файл koko.exe, цъкате за даунлоуд, но ви изписва съобщение, че трябва да се регнете за да го свалите... Не искам някаква сложна регистрация.. или пък някаква алтернатитива на такъв скрипт..

Благодаря
 
Ето как ще стане.
Четеш този урок.
http://web-tourist.net/login/login/view.php?st=472

Това е броя на свалянията но може да се модифицира.

Имаш два файла.
Първия е за линковете към файла.

Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Test</title>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
</head>
<body >
<a href="download.php?get= x.png">Произволно име</a> теглено: <? if(file_exists("x.png.txt")){ include("x.png.txt");}?> </br>
<a href="download.php?get= y.png">Произволно име 2</a> тегляно: <? if(file_exists("y.png.txt")){ include("y.png.txt");}?> </br><a href="download.php?get= z.png">Произволно име 3</a> тегляно: <? if(file_exists("z.png.txtz.png.txt");}?> </br>
</body>
</html>


Втория подава файла за теглене.
Код:
<?php
$download_dir = '.';
$counter_dir = '.';
$path = $download_dir.'/'.$HTTP_GET_VARS['get'];
if(file_exists($path))
{
$file = fopen($counter_dir.'/'.$HTTP_GET_VARS['get'].'.txt','r+');
$count = fread($file,100);
fclose($file); // closes file
$count=$count+1;
$file = fopen($counter_dir.'/'.$HTTP_GET_VARS['get'].'.txt','w');
fwrite($file, $count);
fclose($file);
$size = filesize($path);
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.$HTTP_GET_VARS['get']);
header('Content-Length: '.$size);
readfile($path,$size);
}else{
echo "Не намерих такъв файл ;("; //тук въведете Вашето съобщения при грешка на сваляне на файла
}
?>


Може на втория да му прибавиш отгоре едно:

Код:
<?
 session_start();
if (!isset($HTTP_SESSION_VARS['potrebitel']))
{echo'Само за регистрирани потребители.';	  exit;
}
?>







Където $HTTP_SESSION_VARS['potrebitel']

е името на сесията.

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


Така хем ще записваш колко пъти е свален файла хем ще е свален само от логнати потребители.


[/code]
 
аdmin, според мен той иска друго нещо.
Това май съм виждал по торент тракерите.
Даже директния линк в address bar-a на browser-a, ако нямаш сесия не тръгва да се тегли файла, а пак се показва страницата за логин.
 
Soul_Stealler каза:
аdmin, според мен той иска друго нещо.
Това май съм виждал по торент тракерите.
Даже директния линк в address bar-a на browser-a, ако нямаш сесия не тръгва да се тегли файла, а пак се показва страницата за логин.

Давам идеи.
Идеята може да се използва и да се префасонира както искаш.
Не мога да напиша цялата система в момента. :)
 
да, благодаря, а може ли някак си да се направи, че от този код който ми дадохте да ползва регнатите юзъри във форума ми ? (направо от нея база данни да извлича информацията за съответния потребител)

Благодаря:)
 
Soul_Stealler каза:
аdmin, според мен той иска друго нещо.
Това май съм виждал по торент тракерите.
Даже директния линк в address bar-a на browser-a, ако нямаш сесия не тръгва да се тегли файла, а пак се показва страницата за логин.

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

Rex
може да се направи само за регнати потребители но според мен ще е по лесно да използваш някакъв мод за прикачване на файлове

пп в раздела phpbb питаха за такъв мод и се даде линк
 
Rex каза:
да, благодаря, а може ли някак си да се направи, че от този код който ми дадохте да ползва регнатите юзъри във форума ми ? (направо от нея база данни да извлича информацията за съответния потребител)

Благодаря:)

Това е лесно ако линковете идват от форума.

Ако са на отделна страница ще трябва да мине през форума и тогава.
 
само един офтопик.//

mizarck, ако помниш как се казва - кажи. Все някъде по free сайтовете ще го има ;)
 

Горе