Encryptie download link of dergelijke...
Ik ben bezig met mijn website en wou een aantal downloads zetten waar je voor moet betalen met virtueel geld dus nu mijn probleem:
voorbeeld, ik heb test.zip op mijn server staan die wil ik dan aanbieden en alleen als je met virtueel geld ervoor betaald dan pas mag je het downloaden dus die link moet of niet zichtbaar zijn of ge-encrypt en ook 1 keer maar geldig.. en dan het probleem wat erna komt: stel dat de verbinding met de server word verbroken en de download op 80% blijft hangen dan is dat lullig en moet die link dan nog wel geldig blijven zodat diegene het opnieuw kan downloaden...
alvast bedankt
slikmme optie: alles in .htaccess beveiligde map, downloaden via php, mar database die checkt of er gedokt is.
dit script een sql uit kunnen voeren om het te checken. En dan ook een sql om het geld af te trekken. Maar, het is wel een lastige vraag van je, met dat het blijft hangen op 80%. Dat weet ik niet.
Je zou bij zo ver was ik al... alleen hoe krijg je dat gedoe met de database aan de gang... bedoel leuk enzo een id in de database maar die link is dan bekend... die moet dus zo random zijn, dat er geen enkele mogelijkheid bestaat dat iemand die link kan gebruiken zonder dat hij betaald heeft en diegene mag hetzelfde bestand uiteraard opnieuw downloaden als hij dat wil en moet er weer voor betalen ook..
in database zetten welk id persoon betaald heeft.
edit: Ik weet dat het mogelijk is.. ik heb het op bepaalde sites gezien
Gewijzigd op 01/01/1970 01:00:00 door cyberbootje
doe het gewoon zo, bij iedere download, gaan er XXX points af als je onder de credits zit die het product nodig heeft, pech gehad, als je download mislukt, ook pech gehad.
leuke oplossing maar het is mogelijk dus waarom zou ik de moeite niet nemen het uit te zoeken?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
include("connect.php");
$sql = "SELECT geld FROM users WHERE id = ".addslashes($_GET['id']).";";
if (!res = mysql_query($sql))
{
echo 'Er ging iets fout. <br />SQL: <br /> '.$sql.'<br />fout: <br />';
trigger_error(mysql_error());
}
if ($rij['geld'] > 2)
{
$sql = "UPDATE users SET geld = geld - 3 WHERE id = ".addslashes($_GET['id']).";";
if ($res = mysql_query($sql))
{
header('Content-type: Application/octet-stream');
header('Content-Disposition: attachment; filename='.$_GET['bestand']);
readfile($dir.$_GET['bestand']);
}
else
{
echo 'Er ging iets fout. ';
}
}
?>
include("connect.php");
$sql = "SELECT geld FROM users WHERE id = ".addslashes($_GET['id']).";";
if (!res = mysql_query($sql))
{
echo 'Er ging iets fout. <br />SQL: <br /> '.$sql.'<br />fout: <br />';
trigger_error(mysql_error());
}
if ($rij['geld'] > 2)
{
$sql = "UPDATE users SET geld = geld - 3 WHERE id = ".addslashes($_GET['id']).";";
if ($res = mysql_query($sql))
{
header('Content-type: Application/octet-stream');
header('Content-Disposition: attachment; filename='.$_GET['bestand']);
readfile($dir.$_GET['bestand']);
}
else
{
echo 'Er ging iets fout. ';
}
}
?>
cyberbootje schreef op 31.10.2006 22:18:
leuke oplossing maar het is mogelijk dus waarom zou ik de moeite niet nemen het uit te zoeken?
Correctie:
Waarom zou je de moeite niet nemen om het ons te laten uit zoeken?
Op je vraag:
Zodra er betaald is zet je in de database in de kolom "downloadcode" voor de desbetreffende gebruiker, een unieke code.
Vervolgens heb je een 2e tabel waarin je de unieke code zet + de download link + de gebruikers id.
Als laatst maak je een pagina download.php, die aangeroepen wordt met de $_GET waarde code, bijvoorbeel download.php?code=xxxx
In download.php ga je kijken welke download overeenkomt met de opgegeven code, en check je ook even of de code wel bij de ingelogde gebruiker hoort.
Is de code van de gebruiker dan laat je het bestand downloaden. Je moet even zelf iets verzinnen dat de download locatie niet bekend wordt.
Edit:
Dat van dat de code geldig blijft als de download is mislukt is niet mogelijk met php denk ik, of er moet iemand zijn die daar een hele slimme oplossing voor heeft.
Dat van dat de code geldig blijft als de download is mislukt is niet mogelijk met php denk ik, of er moet iemand zijn die daar een hele slimme oplossing voor heeft.
Gewijzigd op 01/01/1970 01:00:00 door PHP Newbie
Gewijzigd op 01/01/1970 01:00:00 door cyberbootje
Edit:
Cyberbootje heeft zijn post aangepast, hierdoor komt deze reactie wat raar over, Cyberbootje zelf weet wel waarover het gaat.
Cyberbootje heeft zijn post aangepast, hierdoor komt deze reactie wat raar over, Cyberbootje zelf weet wel waarover het gaat.
Gewijzigd op 01/01/1970 01:00:00 door PHP Newbie
PHP Newbie schreef op 31.10.2006 23:03:
En nu even een reactie op mijn oplossing
Edit:
Cyberbootje heeft zijn post aangepast, hierdoor komt deze reactie wat raar over, Cyberbootje zelf weet wel waarover het gaat.
Cyberbootje heeft zijn post aangepast, hierdoor komt deze reactie wat raar over, Cyberbootje zelf weet wel waarover het gaat.
jou oplossing.... ja is prima ik denk ook wel dat ik daar uit zal komen.
ik heb expres even mijn hele idee hier gepost voor de duidelijkheid en mijn echte doel is dat de link blijft bestaan totdat hij hem daadwerkelijk gedownload heeft... maar niemand heeft blijkbaar een idee dus zal ik verder zoeken..
je kunt niet controleren of een bestand gedownload is (met php). Dus je moet er maar van uit gaan dat als een link geopend is de download wel zal lukken....