in reply to Licensing model for CGIs using IP addres

While still not 100% accurate, you could use the output of ifconfig to determine if your script is running on the machine you expect. My host, for example, has no external IP address but uses an Ethernet card to connect to a router. ifconfig returns the Hardware address of the Ethernet card. This is (supposedly) a unique address and thus you could use this address for your script.

Others have pointed out that code like  die unless $hardware eq '6E:34:D8:6C:18' is easily bypassed. So maybe it'd be worth looking at an encryption of your code that uses the machine's hardware address as the key? That way the 'proxy' gets your hardware address and decrypts a code file using the key. It then runs the file or returns an error.

Of course, the serious hacker can still easily bypass this, but it wouldn't be too hard to write just this part in a compiled C file.

Just my thoughts on how to do the (nearly) impossible.

"Get real! This is a discussion group, not a helpdesk. You post something, we discuss its implications. If the discussion happens to answer a question you've asked, that's incidental." -- nobull@mail.com in clpm