PDA

View Full Version : Full version download system (migrated)



Kai Backman
07-28-2004, 09:25 AM
(Thread migrated from Dexterity.com. StAn asked for how to create the full download system).

In my system all customers have a running single database ID that I use to identify them internally. After the order completes their information gets filled into the database (email etc). The server then sends them a link containing an unique 64 characterd md5 "key" that is just randomly generated. There is one table in the database to connect these sums to the internal customer ID. When the customer clicks the link they get a page where they can download all the games they have available (currently only one for sale ..) and potential updates to them. They are also cookied with the key so that the site remembers them on later visits.

Other parts of the system:
- Page where you can enter your email address and have your "key" resent to you
- All downloads are through a PHP script tagging them to specific users. I use this for tracking that people actually download and following through with customer support if they don't.
- Archives of old releases available to all validated customers
- The game itself contains a "Check for updates" button that uses libcurl to poll a specific server script for new versions. If there is a new version available a standard browser window opens. As the user is almost always cookied (and thus automatically logged in) they can download the update with a single click.

This has worked well for Space Station Manager which has had about 30 updates during the last year. I only get support requests when someone has changed emails and their old box is unavailable. Making the "key" impossible to remember also frees the customer from thinking they should do so .. :)

MattInglot
07-28-2004, 10:09 AM
- Page where you can enter your email address and have your "key" resent to you


Sigh. Why didn't I think of having it e-mail to you. I didn't want to implement key retrieval since I was worried that if someone left themselves logged in by accident or somehow got their account hacked into (aka they left their password lying around) that someone could just copy down their key and have the full thing. Having it send to the e-mail address instead sounds like a reasonable thing to do.

(smacks self in head)

Linusson
07-28-2004, 11:04 AM
Sigh. Why didn't I think of having it e-mail to you. I didn't want to implement key retrieval since I was worried that if someone left themselves logged in by accident or somehow got their account hacked into (aka they left their password lying around) that someone could just copy down their key and have the full thing. Having it send to the e-mail address instead sounds like a reasonable thing to do.

(smacks self in head)
Hehe, where have you been? You better start loosing you passwords and such so that you can see how most companies handles stuff like that. ;)

Sorry, couldn't resist. :D

stan
07-29-2004, 02:04 AM
Thanks Mistaril for replying here :)

(I can't access dexterity.com anymore since yesterday to read the original thread, but fortunately I have stored the original thread on my HD - I'm thinking I could attach it to this post, but this might not be legal without the consent of all posters... even if I suppose no-one would complain!)

There is just one thing that puzzles me... How do you identify customers? I mean, once they bought your game, they are cookied and got they identification key, but when they come to buy your second game, how do you identify them?
Do you ask them to enter their key? Or do you rely on the cookie? (but then, what if they use another browser, or erased their cookies?)