-
Notifications
You must be signed in to change notification settings - Fork 5
Trial or demo product versions
Vova Yatsyuk edited this page Oct 31, 2013
·
9 revisions
IonCubered too. It's much simplier to implement and doesn't require any changes to TM_Core and TM_License modules.
Possible limits for FireCheckout:
- Products count below 50 (small stores)
- Order count below 50 (test version)
- No third party modules integration
- Limited configuration options
Possible limits for Cache:
- Cache only certain pages (homepage for example)
- Short cache lifetime (10 minutes)
This feature also requires changes to TM_License module:
- Action for encoded date retrieving.
Clients private key - Secret key from encoded extension source.
Our private key - Secret code from TM_License extension.
Public key - Extension key. See #hacking
- Trial version encoded with IonCuber.
-
Trial version will be available for purchase once per client. Normal version could be purchased many times. This is done to prevent ability to install new version every X days.Not needed because date is set for first purchased copy. - It has check for date expiration.
- Encoded current date is requested from our server.
Clients encoded current date is sent to our server, so we could prevent hacks with local time.Can't do that, because TM_Core will not use the IonCube, so client can send anything.Or encode all sources.Impossible - another extension could override ioncubered TM_Core module. - Expiration date - is the our current date plus X days.
- User will not be able to generate encoded date without our private key.
- Installation with TM_Core module.
- Buy free trial product from our site.
- Unpack to Magento installation.
- User take his app key from our site.
- Run installation with TM_Core
- Encoded date is requested from our server with public key.
- Our server will check for permissions before sending the date. Every installation is logged into our database. If extension was activated previously - license is invalid and date will not be created. Old one (expired) will be sent.
- Write it down to tm_core_module table
- Extension will check this date on every page refresh in preDispatch (We can't use events, it must be hardcoded)
- Decoded with secret key.
- Clients current date should be greater than decoded installation_date
- Clients current date should be lower than decoded installation_date + X days
- Intercept requests to our server.
- Return encoded with public keys date from fake server.
This means that public keys should be unknown to user. We can't use the extension key as a public key. Solution - use hardcoded public key from IonCubered extension source.