Search Tutorials
IntroductionSometimes it is enough for me to see a SWF to understand how to do something I was grinding my teeth on for quite a while. If you have sufficient experience, just the title and subtitle give away my little trick ! The problemThis was addressed by cathode in an article about the subject of protecting your work, on Flashkit. I would like to show you how easy it is to protect your work from being shared and moved around, uncontrollably on the internet. This especially pertains to those of us who publish cool SWF in order to demonstrate our work, and don't wish others presenting the SWF as their own. Sometimes, placing your name or copyright information to the artwork itself is too tacky. Here's how you can make certain that your SWF is only displayed on the target site(s) of your choosing: CHECK THE SOURCE URL! protocol=_url.substr(0,_url.indexOf(":"));
if (protocol=="file") {
// Let's be nice:
// If the leecher downloaded the SWF, well let them play it
// on their on computer
//
message="It seems you are trying out this SWF on your local hard disk. That's ok, but be aware that this SWF will only work if played on the source site"
} else if (protocol=="http") {
// doubleSlash
// ===========
// The location of the first occurance of a "//" in the url.
// url's are formed as following:
//
// [protocol]://[server]/[pathname]
//
// Where protocol is any udp such as ftp, file, http, etc
//
doubleSlash=_url.indexOf("//");
//
// server
// ======
// Isolate the server name: Go past the "//", and everything
// between the doubleslash and the next "/" (single slash")
// is a server name
server=_url.substr(doubleSlash+2,_url.indexOf("/",doubleSlash+2)-doubleSlash-2);
//
// Let's get rid of the "www" prefix, because
// sometimes servers recognize the address without this
// prefix.
// Here's a little catch!
// What if the user typed "http://www.6FootMedia.com"
// That is not the same as "http://www.6footmedia.com"
// (The difference is in the caps)
server=server.toUpperCase()
//
// Get rid of the WWW. prefix
// so we can focus on examining only the server domain name
if (server.indexOf("WWW.") <>-1) server=server.substr(server.indexOf("WWW.")+4,server.length);
//
if (server.indexOf ("TIRANDAGAN.COM") <> -1 or server.indexOf("FLASHKIT.COM") <> -1) {
message = "Copyrights are being preserved";
} else {
message = "Alert! This film's copyrights are being infringed! A message is being sent to author that you have copied his work. Expect the copyright police to arrive 15 minutes at your doorsteps. \nOffending website path: " + _url;
// Here you can put code to redirect the film to another frame
// or to getURL to a page on your site that reports a stolen goods page...
}
}
box1=prefix;
Most of this code is well documented so just look at the code. The idea here is that the _url property of Flash 5 contains the calling url, which includes the server name on which the SWF is sitting. Unless someone comes up with masking the server name, the SWF will only play on particular servers. I suggest you try a subtle approach in your copyright protection, so as to not give away the simplistic mechanism of your protection: Simply transfer the film to an empty frame with a stop(); command so the user (the thief) does not understand what is keeping the film from loading.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||
|