|
checking where the shockLet runs
At 3:54 AM +0000 3/6/00, Gerbil wrote:
>I have in my latest game the option to check which URL the game is running
>from, and if it isn't from one I 'authorise' it brings up an alert screen
>and stops running.
>However, I do want people to be able to play it if they download onto their
>computer (ie not over the net).
>
>How do I check whether the game is being run online or offline locally?
This is a repost of a thorough approach by Gary Rosenzweig
From: Gary Rosenzweig <rosenz@clevermedia.com>
OK. Let me tell you how to do it.
1. Check the moviePath. This will tell you if the .dcr is still on your
server, but it will NOT tell you if someone has simply placed an embed
tag on their page, linking to the .dcr on your server (the most common
way to pirate a game).
2. Use externalParamValue to read the contents of "src". If it starts
with "http:" then the path is absolute and can easily be someone linking
to your game from their server. Of course, this means you need to place
a relative path in your EMBED/OBJECT tag.
3. Check to see if the runMode is a projector. If so, someone may have
stolen the game and is playing the .dcr from a projector.
4. Check to see if the runMode is "author". If so, then check to see if
4 or 5 digits from the serialNumber equal 4 or 5 digits your Director
serial number. If so, it is just you. If not, it is someone trying to
play the DCR as a MIAW. Don't use the whole serial number, as an
engineer might be able to steal it from the DCR somehow.
Note: "sw1" tag solutions abound, but they simply do not work. Someone
can just view the HTML source of your page and steal the "sw1" tag.
Easy. Too easy. Also the solutions that use getNetText to read some text
from your server do not work as someone can still be linking to your dcr
through an absolute path and your dcr on your server will still get the
proper text and run.
Also, for extra protection, ALWAYS put a copyright statement or some
ownership statement in the game itself. This way, if John Doe steals it
somehow, you can contact John Doe's Internet provider and have them take
action. They almost always will, since John Doe's $19.95 per month is
not worth a lawsuit that they can't win.
Roy Pardi
|