They only idea I can think of, since asp is so open for modification, is to
wrap as much programming logic into an activex dll, and either hardcode a
servername/check for that in the dll, or have an external encrypted key in a
text file that asp would read/decrypt (you would create and give them that
file after they told you the server name). This check would make sure the
server you set and the server it's currently on are the same (though if
they're smart there are probably ways to spoof even that). Of course using
those dll's would mean they would have to register them on their server
(makes for a bit harder distrubution), but would probably be the best bet to
prevent others from directly seeing your code.
HTH,
--Michael