views:

659

answers:

14

I want in my website, certain web contents not to be copied, nor to be saved or print screened. User should always log in to my website to read those contents. Any way to do that? or any technology? Can think of adding contents in swf file but files are in pdf format and have large size? Can it work?

Suggestions are welcomed.

+39  A: 

Don't make it available to web browsers.

That's the only way, too.

You can't stop people using 'print screen' on their machine. What's more, people would not go to your site if they can't use the information there. If your content is in PDF files, people have to download those to their computer to read them - either as a formal download or simply into the PDF display gizmo in the browser.

Jonathan Leffler
In reality, yes. No matter what you do, someone will find value in breaking your security and making the content available off your site.
Thomas Owens
And even this, isn't terribly reliable. As I understand it, print-screen works outside of browers as well.
altCognito
Actually I read an article about a year ago about preventing print screen (or maybe it was screen capture). I can't find the article though :-\ So basically, my point is moot. (Or moo for friends fans)
samoz
samoz - people normally just disable right click in Javascript. This just annoys users.
Martin Beckett
A: 

Whatever technology you choose, I strongy doubt that you would ever get 100% security. You can only make it a bit harder to read the contents, perhaps even enough so that nobody bothers putting in enough effort. But if your site is big enough, there will always be someone who breaks your security measures.

Adrian Grigore
I strongly doubt you could get 75% security.
jmucchiello
If the protection is good enough, and the content boring enough, nobody's going to copy it.
David Thornley
+13  A: 

The browser inherently makes a copy in the act of displaying it! No copies = nobody can view it.

Loren Pechtel
+21  A: 

Consider rethinking whether you really need to do this.

The internet is for sharing.

Sam Wessel
In the early 90s, yes, the Internet was for sharing. These days, it's used in many different ways. Would you mind sharing access to your bank account site, since we're all friends? :)
Chris Stewart
A good point Chris, but even my online banking lets me take screenshots, print or copy the page if I want to.
Sam Wessel
+6  A: 

You can't. Especially once you throw in not wanting someone to be able to capture it with PrintScreen. If its a bunch of text, you could put it into an image, and that would prevent an easy copy/paste or just viewing source, but still someone could just retype it from the image. And if all else fails and the data is that sensitive, someone could take a picture of the computer screen with a camera-phone. You can't stop that.

The real issue is that no data that is that sensitive should be available over the internet in the first place.

rally25rs
+6  A: 

What you want to do is fundamentally impossible. If someone is really dead-set on obtaining that data, they'll do it. Sure, you can encapsulate a PDF in an SWF (google "pdf to swf converter"), but decompiling an SWF to recover the PDF data is terribly easy.

Apart from the technical impossibility, it's just plain rude. It's frustrating for users to have to deal with, people don't like sites where they can't link to content (most Flash-based sites have this problem), and in the end you'll drive people away.

Meredith L. Patterson
+1  A: 

Put a long flash intro to your website. No one will ever attempt to copy your website or even view it. Seriously, you can maybe prevent average user to download, but there will always be a way to copy your content. Even if you somehow override the printscreen key, they can take a photo =)

Cagdas Altinkaya
A: 

Anything on a web browser that can be seen by eyes can be copied by computer - by definition that has to be the case because at least one computer (your viewer's) is already doing just that.

If a user wants to copy your data they will do, the best you can do is impose conditions on their accessing your site that penalises later transgression.

Unsliced
+1  A: 

Ensure that the client uses special hardware provided by you with a stripped down OS that only allows viewing your website.

Beware if a user comes with a camera, as he'll be able to take pictures of the screen.

Wadih M.
Ergo: Also have security personnel search users for cameras, mobiles, etc. And don't forget to run thorough psychological tests for photographic memory. ;-)
Adrian Grigore
A: 

There are some scripts that could disable mouse click, or crtl + C, and other simple ways to copy content. But I just accepted that there aren't a way to inhibit this practice. The better you do is to show your copyrights and laws about ilegal copy the material and make good use of tools of the justice.

Leandro
Why the downvotes?
David Thornley
A: 

It's impossible to stop anyone printing or saving a screen grab.

You can make it hard for someone to grab the page by other means, but it's not easy and is always going to fall to the screen grab problem. The quickest way to insert a barrier is to use Flash, although it's readily decompiled by the determined. The slightly more secure approach is to use a custom Java applet and stream the encrypted data in from a server. I once wrote code to do this for a client who was absolutely paranoid about people using his hard-accumulated information and images on a certain topic. The applet decrypted text and displayed the images watermarked, and copying then did need a fair bit of effort.

Doing something similar will keep honest people honest, but really compared to the amount of resource in time and money you'll need to achieve even this limited goal it's just not worth the effort.

Cruachan
+3  A: 

I agree with everyone though to illustrate the point, lets list all the ways I can think of to steal copy a given web page:

  1. Select text/picture with mouse, copy and paste
  2. View HTML, copy and paste
  3. Screen capture with built in OS commands (Mac and Windows have thier ways to do this). Save as Image or paste in to Word / Writer.
  4. Use a utility designed to capture sections of the screen -- I.E. Microsoft's "Snippet it". (save as image or paste in to Word/Writer)
  5. Browser's Save or Save As function
  6. Automatic Scraping utility - If a web server serves it something that imitates a browswer like a scraping utility can get the content.
  7. Search Engines will index and hence make a copy of your content (which is normally desired)

My point is that given the number of methods used to copy or capture content on a computer, you can not accomplish what you are asking.... At least, not with 100% accuracy.

Now, to be fair, there are a number of methods to restrict access to a specific set of individual whom you trust won't steal the content. But with that solution, you might as well create a protected Word document and share your content via that file.

I agree that the Internet is for sharing.

Frank V
8. Starting with an open source browser like Firefox, modify it to store everything in a convenient spot. Or find a version somebody else has hacked. Really, if a browser can show it, a browser can save it.
David Thornley
A: 

Force people to use a text-reader without ever displaying the text. You would have to encrypt your texts server-side so that the HTTP stream cannot simply be read. Your offline software would then read the text aloud after the user signed in using a distributed and personalized pass which requires a PIN-code to use. That way, if they wanted to copy your texts, they would have to write down the text letter by letter, or write software to interpret the sound bytes.

If you wish to display your content to a screen so that people can see it with their eyes, you are going to fail. It's impossible. Worst case scenario: People use a camera to make pictures of your PDF-files, then use software to turn the pictures into text again.

MHD
Record the output and run it through a speech recognition program. Hack the offline software to save the texts. Record the packets and replay them.
David Thornley
A: 

Actually, there are very legitimate reasons to want to allow users to see content but block the ability to copy it. Think malware, like keyloggers or frame grabbers. Think employees using web mail to view confidential content on a kiosk and having it left in the cache. Think owners of intellectual property that want to allow authorized people to view something (perhaps someone subscribing to betting tout sheet) but not copy it and post to their social networking site.

There are products emerging that can do this. From virtual desktops for employee remote access that keeps everything in an encrypted container (Symantec, et.al.) and blocks print screening to on demand armored browsers (Quaresso does this).

If you can mandate that users use certain software to view your site, you can try to do this. If you want enough people to use your site that putting it on a public web site is reasonable, mandating software isn't going to work. Moreover, such software is going to be a really tempting target for hackers and crackers.
David Thornley