如何保证自己网站上的文字不被抄袭(属于复制粘贴的那种),脚本除外!

jingxiaoping 2005-11-04 09:48:30
这个问题已经头疼许久了,想找一个可行的解决方法,我们想过用脚本的方法,不过现在的浏览器种类繁多,有些可以禁止脚本,所以这种方法也就失效了。

所以现在想在CSDN广征此类方案,希望大家可以发挥的特长。
...全文
610 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
fangq 2005-11-04
  • 打赏
  • 举报
回复
这叫"敌欲强,我欲强"
QCB181 2005-11-04
  • 打赏
  • 举报
回复
好像很难,做不到吧
除非生成图片或者flash
lisoon 2005-11-04
  • 打赏
  • 举报
回复
用flash來顯示了,把數據庫的讀出來的東西放到flash顯示,以你的水平,相信很容易搞定的,flash跟asp的結合,我只花了幾分鍾就學懂了,相信你也一樣的。
flash裏用loadvariblenum(不知有沒有寫錯)函數
dh20156 2005-11-04
  • 打赏
  • 举报
回复
要想实现这个效果只有用非文字的东东。
starytx 2005-11-04
  • 打赏
  • 举报
回复
是啊,除非不让看到页面,否则人家想抄谁也挡不住
jspadmin 2005-11-04
  • 打赏
  • 举报
回复
文件oncopy.js
//插入 document.body.oncopy event事件中
//或者 <body>的"oncopy"属性
function copyCode()
{
try
{
var range = document.selection.createRange();
if (document.selection.type != "none")
{
var parent = range.parentElement();
var parentName = parent.tagName;
if (parentName != null)
{
if (parentName.toLowerCase() == "pre")
{
// Replace superfluous <br> tags in a <pre> block.
var re = /<br>/gi;
var code = range.htmlText.replace(re, "\r\n");

// Replace non-breaking spaces.
re = / /gi;
code = code.replace(re, " ");

// Replace & characters.
re = /&/gi;
code = code.replace(re, "&");

// Replace < characters.
re = /</gi;
code = code.replace(re, "<");

// Replace > characters.
re = />/gi;
code = code.replace(re, ">");

// CJM: Remove colorization
re = /<\/?span([^>])*>/gi;
code = code.replace(re, "");

if (code != null)
{
window.event.returnValue = false;
window.clipboardData.setData("Text", code);
}
}
}
}
}
catch(e) {}
}


文件nocopy.htm
<HTML>
<HEAD>
<TITLE>防复制 </TITLE>
<SCRIPT language=javascript src="js/oncopy.js">
</SCRIPT>

<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="feiyun">
<META NAME="Keywords" CONTENT="nocopy">
<META NAME="Description" CONTENT="no copy">
</HEAD>
<BODY oncopy="return copyCode();" >
<FONT COLOR="#FF0000">防代码复制,不信你试试(只防止代码复制,其他可以复制)</FONT><BR>
<TABLE>
<TR>
<TD>aa</TD>
<TD>bb</TD>
<TD>cc</TD>
</TR>
<TR>
<TD>dd</TD>
<TD>ee</TD>
<TD>ff</TD>
</TR>
</TABLE>

<PRE lang=vbscript><%
<SPAN class=vb-statement>option</SPAN> <SPAN class=vb-statement>explicit</SPAN>
<SPAN class=vb-statement>dim</SPAN> fso
<SPAN class=vb-statement>set</SPAN> fso = createobject(<SPAN class=vb-string>"scripting.filesystemobject"</SPAN>)
<SPAN class=vb-statement>dim</SPAN> asplines, jslines, aspbytes, jsbytes, aspwords
iterate(server.mappath(<SPAN class=vb-string>"/web_api"</SPAN>))
response.write <SPAN class=vb-string>"ASP:
Total Lines Coded: "</SPAN> & asplines & <SPAN class=vb-string>"
Total Bytes: "</SPAN> & aspbytes & <SPAN class=vb-string>"
Total Individual Elements (words) Typed: "</SPAN> & aspwords
response.write <SPAN class=vb-string>"
JScript:
Total Lines Coded: "</SPAN> & jslines & <SPAN class=vb-string>"
"</SPAN> & <SPAN class=vb-string>"Total Bytes: "</SPAN> & jsbytes
<SPAN class=vb-statement>function</SPAN> iterate(path)
<SPAN class=vb-statement>dim</SPAN> folder, folders, files, file, ts, txt, arr, f
<SPAN class=vb-statement>set</SPAN> folder = fso.getfolder(path)
<SPAN class=vb-statement>set</SPAN> files = folder.files
<SPAN class=vb-statement>dim</SPAN> rx, c
<SPAN class=vb-statement>set</SPAN> rx = <SPAN class=vb-keyword>new</SPAN> regexp
rx.ignorecase = <SPAN class=vb-keyword>true</SPAN>
rx.global = <SPAN class=vb-keyword>true</SPAN>
rx.pattern = <SPAN class=vb-string>" +"</SPAN>
<SPAN class=vb-statement>for</SPAN> <SPAN class=vb-statement>each</SPAN> file in files
<SPAN class=vb-statement>if</SPAN> right(file.name,<SPAN class=vb-literal>4</SPAN>)=<SPAN class=vb-string>".asp"</SPAN> <SPAN class=vb-keyword>or</SPAN> right(file.name,<SPAN class=vb-literal>3</SPAN>)=<SPAN class=vb-string>".js"</SPAN> <SPAN class=vb-statement>then</SPAN>
<SPAN class=vb-statement>set</SPAN> ts = file.openastextstream
<SPAN class=vb-statement>if</SPAN> ts.atendofstream <SPAN class=vb-statement>then</SPAN> txt = <SPAN class=vb-string>""</SPAN> <SPAN class=vb-statement>else</SPAN> txt = ts.readall
ts.close
txt = rx.replace(txt,<SPAN class=vb-string>" "</SPAN>)
txt = replace(txt,vbcrlf&vbcrlf,vbcrlf)
arr = split(replace(txt,vbcrlf,<SPAN class=vb-string>" "</SPAN>),<SPAN class=vb-string>" "</SPAN>)
aspwords = aspwords + ubound(arr)
arr = split(txt,vbcrlf)
<SPAN class=vb-statement>if</SPAN> right(file.name,<SPAN class=vb-literal>4</SPAN>)=<SPAN class=vb-string>".asp"</SPAN> <SPAN class=vb-statement>then</SPAN>
asplines = asplines + ubound(arr)
aspbytes = aspbytes + len(txt)
<SPAN class=vb-statement>else</SPAN>
jslines = jslines + ubound(arr)
jsbytes = jsbytes + len(txt)
<SPAN class=vb-statement>end</SPAN> <SPAN class=vb-statement>if</SPAN>
<SPAN class=vb-statement>end</SPAN> <SPAN class=vb-statement>if</SPAN>
<SPAN class=vb-statement>next</SPAN>
<SPAN class=vb-statement>set</SPAN> folders = folder.subfolders
<SPAN class=vb-statement>for</SPAN> <SPAN class=vb-statement>each</SPAN> f in folders
iterate f.path
<SPAN class=vb-statement>next</SPAN>
<SPAN class=vb-statement>end</SPAN> <SPAN class=vb-statement>function</SPAN>
%></PRE>

</BODY>
</HTML>
jspadmin 2005-11-04
  • 打赏
  • 举报
回复
你把我那个htm页保存下,然后把js代码存为目录js下的oncopy.js文件,再打开看看就知道了
不过,说句实在话,再怎么预防,也没用的,就象我上面说的,只要能看到,就一定能被复制。除非你不让人家看到(会员制,不是会员不让看)
jspadmin 2005-11-04
  • 打赏
  • 举报
回复
不过呢,你再怎么控制,我按抓屏键抓了后再用汉王OCR把图片转成文字,你总没办法!能看到,就一定可以复制的
jingxiaoping 2005-11-04
  • 打赏
  • 举报
回复
TO:jspadmin(阿笨狗http://www.pifoo.com)

听得不是很明白。
jspadmin 2005-11-04
  • 打赏
  • 举报
回复
参考下我在国外一个网站看的到防代码复制代码(代码不能复制,其他可以复制)http://www.pifoo.com/blog/user1/1/archives/2005/302.shtml
jingxiaoping 2005-11-04
  • 打赏
  • 举报
回复
TO:krfstudio()

文字多的话,图片也会很大的,有没有文字生成FLASH的代码。
ybfqlyq 2005-11-04
  • 打赏
  • 举报
回复
好像現在有個把圖片上的文字取下來的軟件了哦。。。
樓上的方法可能也不行呀。。
現在網上一大把資料,隨便都可以搜索到啦。我覺得沒心要去搞這個吧。

不過用腳本的話也可以做到,把文字放在腳本裡面,當它禁用了腳本後就顯示為空白的,
而且還要加個禁止保存頁面的代碼。……
krfstudio 2005-11-04
  • 打赏
  • 举报
回复
干脆全做成图片好了,怎么复制都复制不过来,在哪个浏览器上都有用,呵呵。
tigerwen01 2005-11-04
  • 打赏
  • 举报
回复
控制不了的,复制者总是有办法对付。
wuxingpeng 2005-11-04
  • 打赏
  • 举报
回复
<BODY onselectstart="return false" onmouseover="self.status='欢迎你登陆!';return true" bottomMargin=0 leftMargin=0 background="" topMargin=0 rightMargin=0>
<SCRIPT language=JavaScript>
function stop() {
return false
}
document.oncontextmenu = stop
</SCRIPT>
jingxiaoping 2005-11-04
  • 打赏
  • 举报
回复
TO:98ok(狗尾草)

好象删掉代码就OK了吧,我的想法是作绝点儿,除非他自己打字,要不然用其他的方法复制不过来。
尚和空四 2005-11-04
  • 打赏
  • 举报
回复
浏览器的种类太多了,想完全控制有点难度的。
做些简单的控制吧 防止那些比较懒惰的D 者

如 右键 直接看脚本 等等
kingstou 2005-11-04
  • 打赏
  • 举报
回复
在你的网站文字中间不定地方插入你网站的内容,但该内容隐藏看不见或文字的颜色和背景色相同,即使他们拷贝,也会将你网站的内容复制过去,相当于为你打广告了。
如:
<div style="display:none"><a href="http://www.yourwebsite.com" target="blank">yourwebname</a></div>
91jk 2005-11-04
  • 打赏
  • 举报
回复
关注,以前用过这样的
<body topmargin="0" oncontextmenu="return false" onselectstart="return false">
但是好象作用不是很大
葫芦的世界 2005-11-04
  • 打赏
  • 举报
回复
做成图片不现实的.这个不能考虑的.用脚本没有用的.因为可以屏的.还是加密吧.


网上的技术文章很多你也以搜索一下.
加载更多回复(5)

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧