These days it can be a major pain to change your system date. So many other programs depend on it. What I've done in the past is installed a dbf that has the expiration date and a code number. The code is somehow calculated from the expiration date (say (ExpDate-{1/1/1900})*27). The program checks to make sure that the expiration date hasn't passed and that it matches the code. If the users runs the program after the expiration date I kill the code and disable the application. Of course the user can reinstall the application and set their system date back. But every time they screw up and forget to set back the date they have to reinstall.
Some setup programs have expiration dates (Setup Specialist at
www.setupspecialist.com is one). This will make their life even harder if they try to use it after the expiration date.
>The problem with date()is that the user can simply change their system date and can continue to use the application indefinitely. I would like something a little more secure.