在日常的网站建设中,我们给每个客户建设的网站,在网站的底部都会习惯性的加入技术支持:济南腾飞网络,或者技术支持:济南网站建设。这样的字样,这样做的目的是为了是为了可以使用户在遇到问题的时候可以方便的第一时间找到我们的官方网站进行咨询问答,再一个是可以在我们为别的客户提供网站建设案例的时候,可以证明本网站是我们所建设的一个依据。这些都是在我们和每一个客户签订的网站建设合同中制定好的,如果客户不同意我们也不会勉强,这篇文章知识告诉大家如何防止由于用户操作不当,把版权这块给误删掉。
一、防止用户删除版权或技术支持的思路
首先需要判断用户是否删除了版权或技术支持,如果判断出用户删除了版权信息或者技术支持这样的信息后,我们需要强制在网站的任意位置输出相关信息,比如用户删除了技术支持:济南网站建设,或者将济南网站建设这个关键字上面的链接给删除掉了,那么就需要在网站的任意位置随即强制输出济南网站建设字符,并加以超链接的形式出现。如果判断出没有删除信息,就会要对网站进行任何操作,正常显示。这样就可以防止用户删除信息了,因为在删除之后所删除的信息会导致网站界面布局错乱,从而无法正常浏览。
二、如何判断用户是否删除版权信息或技术支持字样
我们可以通过两种办法进行判断,一种是判断网站源代码中是否存在版权信息或技术支持的字样来判断是否被删除,这种办法的不好点在于如果在用户把网站技术支持的超链接给去掉了那么就不能判断到了,还有一种办法就是判断网站源码中的超链接是否存在我们所提供的链接地址,这种办法可以很好的解决网站技术支持或版权被恶意删除的情况,就算是用户把信息内容改变了,也是没有办法改变超链接形式的,所以我们就是用判断网站源码中的超链接来进行判断。网站源码中超链接的判断可以使用javascript语言的document.getElementsByTagName属性进行判断,通过读取网站源码中的<a>标签属性,获得所有的超链接地址,然后通过判断这些所有的超链接中是否存在我们指定的链接地址就可以了。
三、防止用户删除版权或技术支持方法具体代码实现
onload = function() //这句话的意思是当网页打开的瞬间就要执行这个函数
{
var link_arr = document.getElementsByTagName(String.fromCharCode(65)); //通过浏览器的dom属性来获取<a>标签的所有超链接集合
var link_str;
var link_text;
var regg, cc;
var rmd, rmd_s, rmd_e, link_eorr = 0;
var e = new Array(97, 98, 99,
100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
120, 121, 122
); //定义数组e,并赋值所需的Unicode值
try
{
for(var i = 0; i < link_arr.length; i++)
{
link_str = link_arr[i].href;
if (link_str.indexOf(String.fromCharCode(104, 116, 116, 112, 58, 47, 47, 119, 119, 119,46,
0x0030, 0x0035,0x0033,0x0031, 115, 111, 115, 111, 46, 99, 111, 109)) != -1) //判断所得到的超链中是否存在定义的超链接地址
{
if ((link_text = link_arr[i].innerText) == undefined)
{
throw "noIE";
}
regg = new RegExp(String.fromCharCode(0x6d4E,0x5357,0x7f51,0x7ad9,0x5efA,0x8bbe));
if ((cc = regg.exec(link_text)) != null)
{
if (link_arr[i].offsetHeight == 0)
{
break;
}
link_eorr = 1;
break;
}
} //以上代码表示判断如果存在就返回break来终止函数的执行
else
{
link_eorr = link_eorr ? 0 : link_eorr;
continue; //以上代码表示如果不存在就继续往下执行函数
}
}
} // IE
catch(exc)
{
for(var i = 0; i < link_arr.length; i++)
{
link_str = link_arr[i].href;
if (link_str.indexOf(String.fromCharCode(104, 116, 116, 112, 58, 47, 47, 119, 119, 119,46,
0x0030, 0x0035,0x0033,0x0031, 115, 111, 115, 111, 46, 99, 111, 109)) != -1)
{
link_text = link_arr[i].textContent;
regg = new RegExp(String.fromCharCode(0x6d4E,0x5357,0x7f51,0x7ad9,0x5efA,0x8bbe));
if ((cc = regg.exec(link_text)) != null)
{
if (link_arr[i].offsetHeight == 0)
{
break;
}
link_eorr = 1;
break;
}
}
else
{
link_eorr = link_eorr ? 0 : link_eorr;
continue;
}
}
} // FF
try
{
rmd = Math.random();
rmd_s = Math.floor(rmd * 10); //通过随即取整,获得随即显示位置
if (link_eorr != 1)
{
rmd_e = i - rmd_s;
link_arr[rmd_e].href = String.fromCharCode(104, 116, 116, 112, 58, 47, 47, 119, 119, 119,46,
0x0030, 0x0035,0x0033,0x0031, 115, 111, 115, 111, 46, 99, 111, 109); //所要显示的超链接地址
link_arr[rmd_e].innerHTML = String.fromCharCode(
0x6d4E,0x5357,0x7f51,0x7ad9,0x5efA,0x8bbe); //所要显示的文本文字
}
}
catch(ex)
{
}
}
在网站编辑器中代码截图如下:
上面的代码中我们用到了Unicode这个概念,Unicode是用十六进制的数值来表示汉字、数字、字母、特殊符合的一种计算机可以识别的编码语言,也就是说我们使用计算机所看到所有图像都是通过Unicode经过计算机的转变之后呈现出来的,我们现在只不过是把我们所需要的东西转换成了Unicode,再告诉计算机,让计算机去识别。关于Unicode字符的编码对应表我们会在文章的最后给出对应地址。
通过以上的代码我们可以更具济南网站建设中具体的需求去防止网站程序源代码被恶意删除的现象,可以是防止网站版权删除,也可以是防止技术支持删除,也可以是其他想要不想被用户擅自删除的信息。
您可能对以下文章也感兴趣: