impossible.
If it can not be downloaded, others can not read it too.

解决方案 »

  1.   

    只要我能看到,我就能用ctrl+a,ctrl+c,ctrl+v保存下来,除非你做成flash,不过有必要么?
      

  2.   

    of course it is possible, you see some realplayer, video files, you can not download, but can watch on line.
    Is it called video streaming.
      

  3.   

    to masterz():You must be cheating, how can you get five stars, man?
      

  4.   

    呵呵,做成图片就更好保存、修改啦。用做成pdf还差不多,可以加密到不能修改。也可以用showModalDialog来显示,在被显示的页面中同时禁止右键、禁止选中、禁止复制,再禁止被单独打开,最好在服务器端再禁止被非法下载。这样应该就比较难对付了(不过最好别落到我手里)。最后还有杀手锏:把脚本代码全部加密,这下子连我也一筹莫展了。具体怎么做?呵呵,你说的,提供一下思路嘛。我只能跟你保证,都是能做到的。
      

  5.   

    呵呵,原来不用那么麻烦的,showModalDialog自动就可以禁止右键、选中、复制,只要你不用任何形式的input、textarea元素,它已经替你做好了前台的大部分事情。从服务器端再禁止了非法下载,用脚本再禁止单独打开,最后再加密脚本,天呐,我都不知道该怎么对付它了。
      

  6.   

    不知道那位说可以让文本文件只可以在线阅读,不能下载的.请问一下,在线阅读时的数据到了哪儿?数据已经到了本地了!!不错,你是可以禁止右键、选中、复制,但别人同样可以做一个软件向你的服务器请求这个文件,就像浏览器向你请求一样.你怎么样才能不让它下载呢?呵呵..想必以上三星四星的朋友不是写程序的..
    to crazy (Out of MEmory) :
    你说的realplayer的在线播放,有两种情况:
    1).RM格式的文件照样可以被下栽到本地播放..
    2).RAM格式的文件..在这种格式中,RAM文件中存储的其实只是服务器上另一个文件的信息,播放时,根据这个信息找到服务器上相对应的文件并播放.
    所以呢,你要禁止文本文件被下载,呵呵,你得发明一种新的文件格式了,并要提供一种插件,以让客户端支持你这种文件格式!!!
    不过这就不是文本文件了...呵呵,不可能这样做到的...
      

  7.   

    只要能给我看到,我就能把tcp包截下来,跟本就不能保密
      

  8.   

    注意:对信息的保护分为:1,不让人看到 2,让人看到了不能改(比如PDF)既然我们可以让他看第一次,其实我们就没有任何办法不让他看第二次,他大不了可以拷屏、打印啊。我们最多设置一下障碍罢了。其实我们前面讲的,就是能把障碍设置到什么程度。加密其实也是可以考虑的。把信息加密后在客户端用控件解密,在控件里面做限制,别人要解你的密就要去分析控件,这道障碍对普通人已经够严密了。有的时候,利用浏览器的一下新特性,我们也可以不用控件而做出来这样的限制。我这就去做一个来
      

  9.   

    呵呵,大家来看看这个:我对时间做了限制不许你在每分钟的后半分钟查看比尔盖茨是不是一只猪。
    要是我不是限制的半分钟,而是限制了从明天开始就不许看了,你在我的限定时间之外怎么能知道比尔盖茨到底是不是一只猪呢?<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>test</title>
    </head>
    <body><SCRIPT LANGUAGE="JScript.Encode">#@~^UQMAAA==@#@&@!Z O@#@&\mD,OP{PU+SP9CD+`* oY?^Gx9/v#I@#@&dDF~',;x/^Ca+`EY!GfAZY!*{y%uEvF ;YElGf!uEXwv]!1*wc]!{%W]!G1f+Y!vXGZYEW2f)u !Yfz]+!,E*_O3E +/1lan`r]+!uEooZZ]!*sWv]! w]!v{ /Y!G)!~YEl20ouE*9oy];GA/w];R%zA+sEu;%~A3]!GoA]EW3&z]Elf3buER!ofY;lG+%u;v~ZoY!* TuE1cOouE{+%W]El W9]!*fcz];Xy!vu;,W,su;0sG!uE0%*/uEosZ/]!v+*Z]E*3A*YE+Tz%Y!G2A!uEl{ R];vl2TY!vZGX]!GGAXYEO!l&YE$GcYEl/FW];{+fvY;R&+%u;+v+w]!c2Zfu;v+ o]!c3TZ]Elf2z]EFf+buEwsTZY;RAoGu;*F 0~r#_cZOO#3; +d1la+`r]!{,G YElcT3uE*80fuE%~9X]!%~fXPEbp@#@&/D+P{P~; +/^Ca+cJu;F&$Z]!*Gy%u;vF /]!*{fZ]E+Xs+]EOXocuEFv0cY;F,9 u;vlGTY!c2f)u T]2)u T,J*_Y3E n/1l2+vJY;ws!;YEFb!~Y;*A%w];*q*8];%~$%uE0oG!];0Rc/]!fZ!+uEF&AZ]!XGy%YE+!)0uE%R)AuE%2${]!*8Z];{F2X]!1!l&Y;wsF)YZbY!zY!v$GcuE*;FWYEFv9vuE0fy%]!{G8s]!{%W]!v oY!c3!ZYEl&3)uEGf+z];&ZTyPE*i@#@&k6PvO@*2!b@#@&dCsDYvdY8#@#@&ns/@#@&dCVn.D`dYyb@#@&z&R @*@#@&cdAAAA==^#~@</SCRIPT></body>
    </html>
      

  10.   

    做成applet怎样?applet里面判断当前的codebase, 如果不是你的网站就xxxxxx.
      

  11.   

    这个根本就不可能实现,不要在这个问题浪费时间了。做成视频也好,pdf也好,代码混淆也好,禁止右键、复制拷贝等等,都有办法下载,不信可以去搜索一下相关的帖子。我不明白,楼主这样做,有什么意义,如果不让人看,放出来还有什么意义呢,别人既然可以在线看第一次,为什么不可能离线看第二次呢?如果有谁做出来,别忘了发个帖子,我很有兴趣去看看,^_^!
      

  12.   

    http://www.souxin.com/
    这个网站的文本内容到是不能选中,不知怎么做的
      

  13.   

    to yuanzi(远子):
    你自己没有兴趣研究也不要在这里泼冷水嘛。你有没有试过去拷贝加过密的PDF文件上的内容,你看得懂我前面的javascript里面写了什么吗?
      

  14.   

    to mty(天鱼):>> 但别人同样可以做一个软件向你的服务器请求这个文件,就像浏览器向你请求一样.你怎么样才能不让它下载呢?呵呵..想必以上三星四星的朋友不是写程序的..这就设计到一个身份验证策略的问题了。服务器是可以先判断能不能给你了再决定要不要给你数据的。to jinqiao0078(求学者):
    到javascript版上看,办法多的是。to all:
    不要以为天底下那么多作信息加密的人都是水的。办法是人想出来的。我以前在一个信息安全的公司里面做的时候,用的密钥都是上k位的,不对称加密,哪那么容易就给解了?
      

  15.   

    经过了上面的讨论,我对于怎么禁止离线浏览终于有了想法:1写一段脚本程序,向服务器发送验证信息
    2服务器接收到信息,经过验证后返回浏览内容(加密)
    3脚本程序解密浏览内容,alert或showModalDialog出来,或window.open()后禁止新窗口的右键、选中、拷贝和菜单后显示新窗口。
    4把脚本加密,隐藏验证过程。服务器的验证规则我们就可以自由发挥了,比如用户注册后才能看(最通用的了),同时也就可以限制同一个用户不能看第二次;也可以限制某个时间段才能看。这样作有用吗?废话。我可以让比尔盖茨抓不到把柄来起诉我骂他是猪啊(呵呵,拷屏结果不能做呈堂证供的)。
      

  16.   

    用APPLET一行行显示吧,谁想抄让他抄去
      

  17.   

    to emu(ston) :不错,你写的那个东东我是看不懂,不过这儿有个软件可以看懂。关于这个<SCRIPT LANGUAGE="JScript.Encode"></script>,本站http://www.csdn.net/expert/topic/603/603308.xml?temp=.9677851曾经讨论过,这儿还有篇文章http://www.guozhu.com/zw/zwdecode.htm,这是那个软件:http://www.guozhu.com/zw/program/zwdecode.exe,关于脚本加密的问题的讨论还有很多,搜一下吧。
    关于在浏览器端禁止一切的讨论,也可以搜索一下。有一个最笨也是比较有效的办法查看,清空你的浏览器缓存,然后访问那个页面,在看缓存,用文本编辑器打开,不管他是不是htm文件,都打开,你就可以看到他的源文件了。
    我没有泼冷水的意思,因为我曾经也这样做过,但我发现我的一切努力都是徒劳的。除非你用你自己开发的浏览器。
      

  18.   

    masterz() 是亚洲最有价值专家中的一位,他说的improssible是针对问题所说的“文本文件”的,请各位注意了。还是有空多学习好比在这讨论人家为何有五颗星吧
      

  19.   

    这个想法是可行的,而且我也看见有这种网页。
    网页里的关键性文本是加密的,但里面有一个applet就是专门解这段加密字符的,参数就是这段加密文字,解出来后再用这个applet来显示。这样用applet显示出来的文字是无法复制下来的。那怕你把这个网页的CODE全部VIEW一下,看到的还是加密的文字。
    当然这样做法也是有漏洞的,IE里我不知道这个.class文件放哪里,但肯定这个文件会另存个名字放在你本地的硬盘上,我用OPER试过会在TMP下找到这个。CLASS文件,而大多数.class文件都是可以100%用JAD反编译出来的,这样就可以找到解密的函数,自己生成一个程序把那段加密的文字解出来。而如果你做为网页的设计者如果想把这步也杜绝掉的话, 应该也不是件难事。
    所以我觉得这个问题是完全可以实现的。
      

  20.   

    http://computer-book.db66.com/index.jsp
      

  21.   

    to yuanzi(远子):
    真失败。微软说它不保证不能被解密,让人感觉到好像是很难解密似的,没想到这年头,萝卜都靠不住了。
    谢谢你了。我从前的公司用自己开发的控件,我想是最有效的办法了。
      

  22.   

    我一直在想用javascript做个不对称加密,编程技术上不觉得难,但是对大质数的快速算法吃不透、私钥的保存问题也解决不了。
      

  23.   

    其实要防止离线浏览是最容易的,用xmlhttp动态获得数据后alert出来,你保存了网页又有什么用?抛砖引玉,做了个对称加、解密的例子,大家继续研究:下面的程序事先把“hello world”用“???????????????”加密过,然后用javascript解密。如果密钥不保存在网页上,你能看见任何东西吗?<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title></title>
    </head>
    <body>
    <SCRIPT>
    function String.prototype.xor(str) //异或操作,也就是通用的对称加密、解密操作
    {
    var result="",l=Math.min(str.length,this.length);
    for (var i=0;i<l;i++)result+=String.fromCharCode(this.charCodeAt(i)^str.charCodeAt(i));
    return result;
    }var encodedString = "WZSSPHPMS["; //这里是密文,var key = "???????????????";  // 这里是密钥,当真做的时候当然不能直接写在网页上alert(encodedString.xor(key) );</SCRIPT>
    </body>
    </html>