My boss wants me to convert some proprietary videos to Flash format, but he’s really wary of thieves who want to take these videos and use them without permission. He wants to have it so that the SWF files can only stream from his site-- or otherwise control the distribution of the videos so that people must come to this site to view the videos. He does not want users to be able to view the video from the cache, or in any other way have the means to distribute them. How can I accomplish this?
I don’t have a factual answer as to how to disable SWF to stream only if it is indeed possible.
I do have a factual answer as to how to prevent somebody from stealing your SWF content. You cannot. No matter how many layers of obfuscation, cryptography and hoops you put upon this, you’re still faced with the classical cryptographic logic problem. In cryptography(which is what obfuscation, in a way, is) is the problem of delivering data between A and B such that C cannot get it. In your case, B and C are the same person, and the logical problem is obvious.
People advanced enough to steal a Flash animation by finding the URL of the SWF file, downloading it, etc. will be advanced enough to be able to steal it if it’s stream only.
If you still want to do this, streaming SWF only might require a special Macromedia server, since by default HTTP will just hand over the SWF file, no questions asked.
groman is right. What you want to do is technologically impossible. You can just make it more difficult for someone to do. But not impossible.
Given that theft is inevitable, tucking your company logo into one corner may be the best bet. They can steal, but they can never claim the work as their own (unless they know how to decompile Shockwave, in which case you’re equally screwed).