First time here? First time here? Newsletter Signup Newsletter
Login | Register | 651326 Members and growing!
Search tutorials
Author: Tiran Dagan | Website: http://www.TiranDagan.com

Introduction

Sometimes 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 problem

This 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;

Fig.1 – The code in Frame 1 of the FLA

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.

» Level Intermediate

Added: 2001-10-23
Rating: 9 Votes: 75
(10 being the highest)
» Author
At the age of 14, Tiran got his first "gig" as a programmer for a film production company. Since then, he has managed large development teams on PC, VAX and Unix. His roots are in the Z80, 8086 and Apple Green Book of operating system mnemonics, but Tiran incorporates his extensive background in art, music and general knowledge into object-oriented programming. His work combines video, audio, animations and server side programming.
» Download
Download the files used in this tutorial.
» Forums
More help? Search our boards for quick answers!

Comments

  • There are no comments yet. Be the first to comment!

  • You must have javascript enabled in order to post comments.

Leave a Comment
  • Your email address will not be published. All fields are required.
Featured Flash FLA
» Author: work2survive
» Title: Girl Walking 1kb
» Description: Walking girl, animation just takes 1kb, using high heels shoes, and fashion model attitude.
Featured Sound Loops
Image for equalize

Audio Player

» Author: BoxCat
» Title: CPU Talk
» Description: From the cyberpunk RPG, "Nameless: the Hackers" Completely Free to use! Keywords: edm hip hop rap electronic mysterious mission hacking chase exciting spy ios ambient chilling love happy sad angry suspense
Latest Font
» Author: Fábio FAFERS
» Description: I created this font for free use. Everyone can apply it in personal or business texts. Its free, but I want to be communicated in case of business use. Donations are accepted to keep the project of free fonts alive! Thank you all
Featured Sound Fx
Image for equalize

Audio Player

» Author: nathan
» Description:

A recorded sound of the Dimensional Fork Gate.