Best place to store the trial data for the web application

662 views Asked by At

After reading a lot of SO topics about how to design a trial for the desktop software I still have some questions about trial for Web Application.

I have a ASP.Net MVC Web Application and I'm offering a time limited trial for that. The applicaion will run in IIS > 7.0 so it has a very limited acces to the system and that is why there are not a lot of places for storing the information about the remaining trial.

I'm not trying to make my software "uncrackable", but it shouldn't be obvious for an average user how to reset the trial so I want to store the trial data at least at two places.

Until now I have found two places where to store the info:

1) In registry under CurrentUser. The User, under which account my web app is running will always have the writing permission to this key.

2) WebApp user's AppData folder. It should be accessible as well, but I couldn't find the safe way to determine the path to this folder (see my question)

Question: what are the good or best place(s) to store the trial information for the web application?

Thank you

1

There are 1 answers

0
Tommy On

I did some reviews and there are a few articles that have some information regarding creating trial software versions:

http://www.codeproject.com/Articles/473278/Creating-Secure-Trial-Versions-for-NET-Application

http://www.codeproject.com/Articles/398130/Software-Copy-Protection-for-Net-Applications-a-Tu

These both target actual Windows Forms apps, but the concepts and thoughts on things like system clock manipulation could help spur some ideas for you and your dev team. Basically, there is no bullet-proof way to prevent someone from attempting to outsmart your protection. Like you said, you are not trying to make this hacker-proof, just keep people honest.

Whatever route you go, you and your company need to ask yourself where you stand to lose more income 1) people stealing your app or 2) trials failing because of over-zealous DRM. I suspect in the majority of cases (unless you are a game maker), #2 is the bigger concern.