Encryptie download link of dergelijke...

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Cyberbootje

cyberbootje

31/10/2006 20:53:00
Quote Anchor link
Hoi

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
 
PHP hulp

PHP hulp

18/11/2024 12:31:34
 
- -

- -

31/10/2006 21:13:00
Quote Anchor link
domme optie: voor iedere betaalde down een kopie maken, in een met .htaccess beveiligde map, men kan alleen bestenden downen die met zijn id beginnen, en na week deleten.
slikmme optie: alles in .htaccess beveiligde map, downloaden via php, mar database die checkt of er gedokt is.
 
K i p

K i p

31/10/2006 21:21:00
Quote Anchor link
Je zou bij 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.
 
Cyberbootje

cyberbootje

31/10/2006 21:22:00
Quote Anchor link
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..
 
- -

- -

31/10/2006 21:27:00
Quote Anchor link
in database zetten welk id persoon betaald heeft.
 
Cyberbootje

cyberbootje

31/10/2006 21:29:00
Quote Anchor link
oke zal kijken... en iemand ideetje over dat de link geldig blijft totdat het klaar is met downloaden?

edit: Ik weet dat het mogelijk is.. ik heb het op bepaalde sites gezien
Gewijzigd op 01/01/1970 01:00:00 door cyberbootje
 
Arjan Schuurman

Arjan Schuurman

31/10/2006 22:12:00
Quote Anchor link
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.
 
Cyberbootje

cyberbootje

31/10/2006 22:18:00
Quote Anchor link
leuke oplossing maar het is mogelijk dus waarom zou ik de moeite niet nemen het uit te zoeken?
 
K i p

K i p

31/10/2006 22:27:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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. ';
    }
}


?>
 
PHP Newbie

PHP Newbie

31/10/2006 22:49:00
Quote Anchor link
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.
Gewijzigd op 01/01/1970 01:00:00 door PHP Newbie
 
Cyberbootje

cyberbootje

31/10/2006 23:02:00
Quote Anchor link
Dus niemand die het ff weet...
Gewijzigd op 01/01/1970 01:00:00 door cyberbootje
 
PHP Newbie

PHP Newbie

31/10/2006 23:03:00
Quote Anchor link
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.
Gewijzigd op 01/01/1970 01:00:00 door PHP Newbie
 
Cyberbootje

cyberbootje

31/10/2006 23:33:00
Quote Anchor link
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.


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..
 
PHP Newbie

PHP Newbie

31/10/2006 23:45:00
Quote Anchor link
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....
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.