Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Online Registration Procedure

Posted on 2003-03-14
16
Medium Priority
?
562 Views
Last Modified: 2008-02-01
Hi Everyone!

I am developing my project using VB6.  I'm seeking to create a registration process similar to ebook edit pro listed below.

I need a solution similar to the registration process used by http://www.ebookedit.com/ and need help on how to do this using VB and my web server.

I'll detail the procedures below, but what I'm looking to do is have the user enter in a registration code with pertinent infomation and verify it with an online database to Enable the program on the individual's PC.
I'm not looking to make a demo like ebook edit pro does, just looking to enable the program AFTER online confirmation has been established.

------

The product (Ebook Edit Pro) registration procedure is as follows:
User enters Name and e-mail address on website to get download link.
The IP address is logged, (but some people use a proxy, and would need to take that into consideration if I was to use that as part of the criteria for registration.)
User gets e-mailed with the download link (of which the URL changes often and is masked)
User downloads product, can use the product, but cannot use main functions of product until registration.
The registration is as follows:
User purchases product;
User clicks 'Register Product';
User Enters Name and registration code (provided by ebook edit pro's e-mail confirmation of order successfully processed);
The program logs into the online database to verify criteria matches to register;
Then, voi-la! ... User can now begin accessing full functionality of program.

-----------------

The database that I'm using is a mySQL database and I can add a table with fields as needed.  I will need to keep the program disabled until registration has been verified, then functionality of program is enabled upon successful registration.

The simplest way to do this will be greatly appreciated!

Thank You VERY MUCH in Advance...

:)
 
 

0
Comment
Question by:FirstBorn
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 8
  • 7
16 Comments
 
LVL 11

Accepted Solution

by:
rdrunner earned 1000 total points
ID: 8137003
You could try this to disable your APP

http://www.activelock.com

0
 
LVL 1

Author Comment

by:FirstBorn
ID: 8138593
Hi rdrunner,

I checked out the site http://www.activelock.com/ and the program looks good, however, there are issues that this program will create, one of which is:
--------------------------------------------------
If you use Comdlg32.ocx in your application, it is important that the correct version of Comdlg32.ocx is in the Windows/System. For ActiveLock1.5 the Comdlg32.ocx version is 6.00.8140 or above. If an older version is used, then your application when installed on a user's computer may fail to run. The error reported will be that this version of the comdlg32.ocx has not been properly registered. I learnt this through mistake.
-------------------------------------------

I've been through DLL/OCX hell before and would rather just hard code a way to enable the program via online registration.

Also, another issue with the active lock program is:
------------
So readers take note because users of your software may come back and say that it is not working anymore when they reinstall or upgrade Windows. For me, out of good faith, I will supply my customer with a new Liberation Keys based on the new Software Code.
--------------------------

I can't see having to give out new codes to someone with "good faith" because of changes that occur to someone's OS, etc.  This pretty much defeats the purpose of what it is supposed to be used for, wouldn't you agree?

I can see where this program can do well for what it does, however, it doesn't appear to be what I'm looking for.

Thanks...

:)
0
 
LVL 11

Expert Comment

by:rdrunner
ID: 8139051
It makes sure noone can give a key to another system ;)
0
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 
LVL 1

Author Comment

by:FirstBorn
ID: 8141656
Hi rdrunner,

Well, my friend, the answer isn't 42, but I was quite precise... lol

ok, now let's say I was to go this route, How can I automate this so that there will be minimal interaction with the customer?  I would rather spend my time developing new projects than handing out the cookies for the cookie jar that I have just sold...

I have no problems with support questions for my 'registered' users, but the less manual interaction, the better... That is why I am seeking to have this (the registration process) done online (on the web server) so that I won't have to e-mail each paying customer with an access code to their new toy / product...

Thanks again.

:)
0
 
LVL 11

Expert Comment

by:rdrunner
ID: 8141845
I also just found that software yesterday ;)

It was suggested by someone else here...

The Software includes a small program that will generate the key for your users, and since you have the sourcecode for the software you could implement a small com object out of it that would be placed on a website...

But make sure not everyone can access it ... Only allow users with an "account" on your webpage to get a key... I would also remember the number of times they asked for a key and say limit it to 3 for example...

To automate it you would only need to implement this function in a COM object:

txtLiberationKey = Left(Hash(txtSoftwareCode & txtSoftwareName), txtLiberationKeyLength)

and include the hashtype also, since thats an implicit parameter of that function ....



0
 
LVL 1

Author Comment

by:FirstBorn
ID: 8145856
Hi rdrunner,

ok, I'm still a bit lost... How would I take this procedure and plug it in online?

Say, I am using the Active Lock program and keygen to protect my project.  What steps would I have to take in order to get it working properly?
ex. Customer Purchases Program, downloads it, and wants to register... I don't want to have to send out individual keys manually, how would I get my web server to do this?
I, of course, would have to verify that a payment was made somehow, (Order ID generated by Sales Receipt, Name of Customer, Possibly an IP address of customer, etc...)
I'm using a Web Host with a Unix based Server and am only slightly familiar with php / mySQL...

I've never worked with COM to interact with a website, so what exact procedures would I need to perform in order to allow the PAYING Customer with the unlock key?  I can easily create a form with a webbrowser control and open an URL (without the user viewing the actual URL to the registration site)... I don't know how I would be able to set it so that the User cannot copy the program, pass it to someone else, and not be able to register the copy unless the product has been purchased...

Thanks...

:)
 
0
 
LVL 11

Expert Comment

by:rdrunner
ID: 8146027
Well you can make a COM component out of the keygen and put it on  your website, so you can access it from asp...

ASP could create an instance of it and pass the parameters it needs and then send them back to the user.

You have a webserver that can use ASP (IIS) or do you know asp?
0
 
LVL 1

Author Comment

by:FirstBorn
ID: 8146239
My web server is on a Unix Platform using Apache/1.3.27

I'm not familiar with asp, either, if this answers the above questions... :)

I've used php and html, and I use notepad for most of my web development, ... I use Dreamweaver to clean up my code, but that's as far as an interface goes for design...

All of my pages, graphics, etc., are upped to the server via FTP.  I don't use FrontPage anymore because I find it not worth the issues that it creates as opposed to doing everything manually with the Design...

Thanks... :)
0
 
LVL 11

Expert Comment

by:rdrunner
ID: 8146342
A unix webserver is bad here ;) since i dont know how to do it on them...

But on an IIS for example i would take the keygen program , create a DLL out of it (instead of the Windows exe) and that DLL could be used in an asp page for example... The DLL would only need one public function

(class unlock)
public function txtLiberationKey (txtSoftwarecode as string, txtSoftwarename as string, hashtype as integer, txtLiberationKeyLength as integer) as string

txtLiberationKey = Left(Hash(txtSoftwareCode & txtSoftwareName, hashtype), txtLiberationKeyLength)

end function

and then you get the answer...

In as asp page you would need to do something like this (assuming you assigned the values of a form already to the Variabels (Softwarecode,Softwarename,hashtype,keylen))


dim keygen
set keygen = createobject("keygen.unlock")
response.write keygen.unlock (Softwarecode,Softwarename,hashtype,keylen)



I left out how you figure out if the custumer is legit... Best thing to do is to store that information in a DB and querry it before you execute your keygeneration.

Also about "just copy the program to another pc"...

Thats what activelock takes care for you... It will generate a new key for each pc it is installed from If you install it on another PC then you wont have  the same key, and you need another libaration key to unlock it.  

So if he wants the software to be able to run on another PC then he needs to go to your website and get a new key... If you notice one account requestion say 3 or more keys you know he is distributing it :)

0
 
LVL 11

Expert Comment

by:rdrunner
ID: 8146344
grrr of course i meant this

response.write keygen.txtLiberationkey(Softwarecode,Softwarename,hashtype,keylen)
0
 
LVL 1

Author Comment

by:FirstBorn
ID: 8148676
Hi rdrunner,

Should this question be moved to http://www.experts-exchange.com/Web/Web_Languages/ ?

Even though this hasn't answered my question, I still would like to award points to you for helping.

I will ask the mods to move this question then give you partial credit for your efforts... Thank You Very Much for your patience and assistance!  It is greatly appreciated!

:)

0
 
LVL 1

Author Comment

by:FirstBorn
ID: 8148684
Hi rdrunner,

Should this question be moved to http://www.experts-exchange.com/Web/Web_Languages/ ?

Even though this hasn't answered my question, I still would like to award points to you for helping.

I will ask the Community Support Experts to move this question then give you partial credit for your efforts... Thank You Very Much for your patience and assistance!  It is greatly appreciated!

:)

0
 
LVL 1

Expert Comment

by:Computer101
ID: 8149048
Points reduced.  FirstBorn has explained

Computer101
E-E Admin
0
 
LVL 1

Author Comment

by:FirstBorn
ID: 8149222
I have to give you an Excellent Rating for your persistence!

Thank You VERY Much, rdrunner!

:)
0
 
LVL 11

Expert Comment

by:rdrunner
ID: 8150369
Hehe thanks ;)

question...
Will you be using a windows based webserver or a linux based one?

If its going to be a windows based one then i could create an exe out of activelock that you could call at the command line and pass the data you need to generate the key as arguments ...

0
 
LVL 1

Author Comment

by:FirstBorn
ID: 8150597
Hi rdrunner,

I'll be using the Linux Based Server as my Web Host uses Unix and Apache Server 1.3.27.  The Web Host also uses a mySQL database.  

I've already created a table with a few fields that I could have used for this process, however, I'd have to write the code in php to make this work.  My perl and cgi scripting leave a lot to be desired... :)

That code (for the exe, or the exe itself) would be Awesome... Maybe I can modify the code to work along with php and mySQL? Well, at least I may actually learn how to get them to interact with each other?

Thanks rdrunner...

:)

0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction In a recent article (http://www.experts-exchange.com/A_7811-A-Better-Concatenate-Function.html) for the Excel community, I showed an improved version of the Excel Concatenate() function.  While writing that article I realized that no o…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…
Suggested Courses

704 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question