JS搜索引擎也是可以识别的,GOOGLE就可以,百度应该也会可以的
<html>
<head>
<script>
function clear() {
Source=document.body.firstChild.data
document.open()
document.close()
document.body.innerHTML=Source
}
</script>
</head>
<body onload=clear()>
Test
</body>
</html>
------------------
1、将以下代码加入到HEML的<body></body>之间
<SCRIPT language=javascript>
function click() {if (event.button==2) {alert('不许你偷看!')}}document.onmousedown=click
</SCRIPT>
.................................................................
2、禁止查看网页源代码
真正能实现源代码屏蔽的单纯的.htm是不可能的!想看源代码是没办法阻止的。用TELEPROT可以下载任何文件,相当于做镜像网站, 除非服务器进行安全设置、加密。 下面给几种参考方法,使在浏览我的个人主页时不能使用右键或者不能看到源程序或源代码等。
1)在主页上输入代码:
<SCRIPT language=javascript>
function click() {
if (event.button==2) {
alert(\'对不起,禁止使用此功能^_^.\')
}
}
document.onmousedown=click
</SCRIPT>
<script language="JavaScript">
<!--
locate = 0
function scroller() {
if (locate !=500 ) {
locate++
scroll(0,locate)
clearTimeout(timer)
var timer = setTimeout("scroller()",3)
timer
}
}
// -->
</script>
2)网页安全技术指南
随着Internet的飞速发展,网站的数量正呈几何级速度递增,网页上的信息极大丰富,但网站的安全与信息的版权却不断受到威胁.近来,全球各大网站先后遭到黑客攻击,接着,为了顺应新形势,国内首家有关网络安全专题诞生了.网站与网页的安全性受到越来越多的关注,本文将由浅入深地介绍关于加强网页安全性的各种技术和技巧,对关心网页源代码版权和网页数据安全保护的读者有较大的帮助.
初级入门篇
对广大网页编写者来说,对源代码的保护是最为关注的,但往往却没有任何办法.辛辛苦苦编写的网页在浏览者面前毫无遮掩,只要被别人轻轻点击鼠标右键,选择(查看源代码)一项后,即可获得网页完全代码,甚至稍加修改后就成为他人的网页.本篇将通过采用JavaScript技术,对页面源代码的修改,使浏览者无法获得源码,达到保护代码的目的.
首先,应屏蔽Internet Explorer工具栏中-查看-源代码一项的功能,即将页面采用框架结构的方式.若你的页面并未使用框架结构,且不需使用框架结构,可使用"零框架"技术(即将页面分为左右两帧,左帧的宽度为1,右帧为原页面).该方法的代码如下:
<html>
<head>
<title>欢迎光临网页教学网</TITLE>
</HEAD>
<FRAMESET COLS="1,*" frameborder=0 framespacing=0>
<FRAME SRC="PS.HTM" NAME="count" noresize scrolling=no>
<FRAME SRC="search.HTM" NAME="search" noresize>
</frameset>
</html>
将该文件存为主文件index.htm,建立一空文件ps.htm,原页面文件现另存为index.html(与主文件名仅在扩展名上略有不同).采用零框架技术有以下优点:
1.浏览者在用工具栏中的源代码项无法直接得到页面代码,仅能得到框架主文件的代码(即上述代码).
2.可利用左帧文件ps.htm加载一些网页的高级应用,如背景音乐,网页计数器,cookie应用等.
其次,应屏蔽鼠标右键的显示源文件功能,即在所需保护的页面文件(上例中为index.html文件)中加入以下代码:(当右键被点击时将出现图1所示提示框)
<script Language="JavaScript">
function click() {
if (event.button==2||event.button==3) {alert(\'"用右键要干嘛?"^_^\') }}
//引号中提示可自定义
document.onmousedown=click
</script>
最后,为防止一些了解网页编写语言的人通过框架主文件中的连接手工找出被保护页面后获得源代码,还应在被保护页面中加入以下代码:
<script language="javascript">
if(top==self)top.location="index.html"
</script>
这段代码将提供跳回功能,使浏览器无法直接看到该页,而是自动跳回框架主文件index.html,起到保护该页面的作用.
在完成以上三个步骤,对你的主页按照框架结构进行了修改后,你的主页源代码将不能被浏览者在网上获得,可以小小庆贺一下了
另外,若你确实不想用框架页面,那么可用特殊的方法打开浏览器新窗口,再结合屏蔽鼠标的功能代码后亦可收到同样的效果,打开方法如下:
<a href=javascript:window.open("key.html","被保护页面的标题","height=170,width=290,left=0,top=0,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,copyhistory=0") target=_blank>打开被保护页面的连接</a>
代码中,key.html为被保护页面的文件名.新窗口的高度height与宽度width的值可由用户自定义,单位为像素.
注意:嵌入式的 JavaScript代码应加在原文件的<head></head>元素区内.
中级深入篇
上篇中是采用JavaScript技术达到保护在线网页的目的.正所谓"强中自有强中手",有些人使用Webzip,TelePro,Offline等离线浏览器下载你的主页,就可绕过JavaScript保护在线网页的防线,将网页下载后再慢慢剖析.有矛必有盾,你亦可用JavaScript建立的动态转向文件是大多数离线浏览器无法下载你的网页,方法如下.你可将上例中的被保护页面更名为index1.html,而将文件index.html改为以下代码:
<script>
window.location.replace(\'index1.html\') //本句产生网页跳转功能
</script>
对Internet Explorer5新增的离线浏览功能(脱机工作),以上方法有时失灵,可通过对网页设置cookie的高级技术达到保护的目的.一旦cookie超期,即使网页已被下载到本机也无法浏览,呵呵,厉害吧:)
应加入文件中的cookie代码段如下:
<script language="JavaScript">
function getCookieVal (offset)
{
var endstr = document.cookie.indexOf ("", offset)
if (endstr == -1)
endstr = document.cookie.length
return unescape(document.cookie.substring(offset, endstr))
}
function GetCookie (name)
{
var arg = name + "="
var alen = arg.length
var clen = document.cookie.length
var i = 0
while (i <clen)
{
var j = i + alen
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j)
i = document.cookie.indexOf(" ", i) + 1
if (i == 0)
break
}
return null
}
function SetCookie (name, value)
{
var argv = SetCookie.arguments
var argc = SetCookie.arguments.length
var expires = (2 <argc) ? argv[2] : true
var path = (3 <argc) ? argv[3] : true
var domain = (4 <argc) ? argv[4] : true
var secure = (5 <argc) ? argv[5] : true//安全模式生效
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("expires=" + expires.toGMTString())) +
((path == null) ? "" : ("path=" + path)) +
((domain == null) ? "" : ("domain=" + domain)) +
((secure == true) ? "secure" : "")
}
function ResetCounts(name)
{
visits = 0
SetCookie(expdate , "/", true, true)
location.reload()
}
</script>
<script language="JavaScript">
var expdate = new Date()
var visits
expdate.setTime(expdate.getTime() + (24*60*60 * 1000))//COOKIES超期时间设置,此处为1天
if(!(visits = GetCookie("visits")))
visits = 0
visits++
SetCookie(expdate, "/", true, true)
</script>
如果你已经做到这一步了,那么你的网页所受到的保护就不再是常规意义上的出于道德观念或版权意识,而是真正的技术上的保护手段.
高级研究篇
对网页的保护并不仅仅是涉及源代码的保护,更应该包含对网页数据或网络数据库的保护.对网络数据库的保护可采用基于IIS的CGI接口的认证程序,SQL的安全技术,ASP安全认证程序,Java Applet安全认证程序等手段,属于更高层次的安全措施,包含大量内容,本文不作介绍.本篇将介绍应用JavaScript技术构造的页面认证接口.将仅供有限人群访问的需要数据保护的页面中加入以下代码:
<script LANGUAGE="JAVASCRIPT">
<!--
loopy()
function loopy() {
var sWord =""
while (sWord != "hibow") {
sWord = prompt("输入正确密码登陆! ")
}
alert("身份识别......允许登陆")
}
//-->
</script>
注意:嵌入式的 JavaScript代码应加在原文件的<head></head>元素区内.
代码中字段sWord的值hibow为登陆被保护页面的密码.你可将自定义的密码告诉允许访问该页面的用户,仅当密码被正确输入后浏览者才可看见页面内容,否则将循环停留在密码登入框中(见图2),进不去喽
为了达到保护页面源代码及数据的最佳效果,可将本文介绍的所有方法相结合,这就要考验大家的悟性和能力了。
这样是锁不住代码的,只要先点左健不放,再点右健,在放左建,就能看了,如果你的主页是用ASP,PHP,或者CGI购建的,一般对方是看不到源代码的。防右键的方法已经过时了 还有一个办法就是把回车全去掉,把整个文件压缩。这样看到也看不清楚, 还不影响动行
1.结构性定义文件类型 <HTML></HTML>(放在档案的开头与结尾)
文件主题 <TITLE></TITLE>(必须放在「文头」区块内)
文头 <HEAD></HEAD>(描述性资料,像是「主题」)
文体 <BODY></BODY>(文件本体)
(由浏览器控制的显示风格)
标题 <H?></H?>(从1到6,有六层选择)
标题的对齐 <H? ALIGN=LEFT|CENTER|RIGHT></H?>
区分 <DIV></DIV>
区分的对齐 <DIV ALIGN=LEFT|RIGHT|CENTER|JUSTIFY></DIV>
引文区块 <BLOCKQUOTE></BLOCKQUOTE>(通常会内缩)
强调 <EM></EM>(通常会以斜体显示)
特别强调 <STRONG></STRONG>(通常会以加粗显示)
引文 <CITE></CITE>(通常会以斜体显示)
码 <CODE></CODE>(显示原始码之用)
样本 <SAMP></SAMP>
键盘输入 <KBD></KBD>
变数 <VAR></VAR>
定义 <DFN></DFN>(有些浏览器不提供)
地址 <ADDRESS></ADDRESS>
大字 <BIG></BIG>
小字 <SMALL></SMALL>
与外观相关的标签(作者自订的表现方式)
加粗 <B></B>
斜体 <I></I>
底线 <U></U>(尚有些浏览器不提供)
删除线 <S></S>(尚有些浏览器不提供)
下标 <SUB></SUB>
上标 <SUP></SUP>
打字机体 <TT></TT>(用单空格字型显示)
预定格式 <PRE></PRE>(保留文件中空格的大小)
预定格式的宽度 <PRE WIDTH=?></PRE>(以字元计算)
向中看齐 <CENTER></CENTER>(文字与图片都可以)
闪耀 <BLINK></BLINK>(有史以来最被嘲弄的标签)
字体大小 <FONT SIZE=?></FONT>(从1到7)
改变字体大小 <FONT SIZE=+|-?></FONT>
基本字体大小 <BASEFONT SIZE=?>(从1到7内定为3)
字体颜色 <FONT COLOR='#$$$$$$'></FONT>
2.连结与图形
连结 <A href='/URL'></A>
连结到锚点 <A HREF='URL#***'></A>(如果锚点在另一个档案)
<A HREF='#***'></A>(如果锚点目前的档案)
连结到目的视框 <A href='/URL' TARGET='***'></A>
设定锚点 <A NAME='***'></A>
图形 <IMG src='/URL'>
图形看齐方式 <IMG src='/URL' ALIGN=TOP|BOTTOM|MIDDLE>
图形看齐方式 <IMG src='/URL'
ALIGN=LEFT|RIGHT|TEXTTOP|ABSMIDDLE|BASELINE|ABSBOTTOM>
取代文字 <IMG src='/URL' ALT='***'>(如果没有办法显示图形则显示此文字)
点选图 <IMG src='/URL' ISMAP>(需要CGI程式)
N2.0 点选图 <IMG src='/URL' USEMAP='URL'>
N2.0 地图 <MAP NAME='***'></MAP>(描述地图)
N2.0 段落 <AREA SHAPE='RECT' COORDS=',,,' href='/URL'|NOHREF>
3.0 大小 <IMG src='/URL' WIDTH='?' HEIGHT='?'>(以pixels为单位) N1.0 图形边缘 <IMG src='/URL' BORDER=?>(以pixels为单位)
N1.0 图形边缘空间 <IMG src='/URL' HSPACE=? VSPACE=?>(以pixels为单位)
N1.0 低解析度图形 <IMG src='/URL' LOWsrc='/URL'>
N1.1 用户端拉 <META HTTP-EQUIV='Refresh' CONTENT='?URL=URL'>(使用端自动更新 )
N2.0 内嵌物件 <EMBED src='/URL'>(将物件插入页面)
N2.0 内嵌物件大小 <EMBED src='/URL' WIDTH='?' HEIGHT='?'>
3.分隔
段落 <P>(通常是两个return)
3.0 段落 <P></P>(新定义成容器型标签)
3.0 文字看齐方式 <P ALIGN=LEFT|CENTER|RIGHT></P>
换行 <BR>(一个return)
N1.0 文字部份看齐方式<BR CLEAR=LEFT|RIGHT|ALL>(与图形合用时)
横线 <HR>
N1.0 横线对齐 <HR ALIGN=LEFT|RIGHT|CENTER>
N1.0 横线厚度 <HR SIZE=?>(以pixels为单位)
N1.0 横线宽度 <HR WIDTH=?>(以pixels为单位)
N1.0 横线比率宽度 <HR WIDTH=%>(以页宽为100%)
N1.0 实线 <HR NOSHADE>(没有立体效果)
N1.0 不可换行 <NOBR></NOBR>(不换行)
N1.0 可换行处 <WBR>(如果需要,可在此断行)
列举 (可以巢状列举)
无次序式列举 <UL><LI></UL>(<LI>放在每一项前)
N1.0 公布式列举 <UL TYPE=DISC|CIRCLE|SQUARE>(定义全部的列举项)
<LI TYPE=DISC|CIRCLE|SQUARE>(定义这个及其后的列举项)
有次序式列举 <OL><LI></OL>(<LI>放在每一项前)
N1.0 数标型态 <OL TYPE=A|a|I|i|1>(定义全部的列举项)
<LI TYPE=A|a|I|i|1>(定义这个及其后的列举项)
N1.0 起始数字 <OL value=?>(定义全部的列举项)
<LI value=?>(定义这个及其后的列举项)
定义式列举 <DL><DT><DD></DL>(<DT>项目, <DD>定义)
表单式列举 <MENU><LI></MENU>(<LI>放在每一项前)
目录式列举 <DIR><LI></DIR>(<LI>放在每一项前)
背景与颜色
3.0 重复排列的背景 <BODY background='/URL'>
N1.1+ 背景颜色 <BODY BGCOLOR='#$$$$$$'>(依序为红、绿、蓝)
N1.1+ 文字颜色 <BODY TEXT='#$$$$$$'>
N1.1+ 连结颜色 <BODY LINK='#$$$$$$'>
N1.1+ 看过的连结 <BODY VLINK='#$$$$$$'>
N1.1 使用中的连结 <BODY ALINK='#$$$$$$'>
4.特殊字元(以下标签需用小写)
特别符号 ?(其中 ? 代表 ISO 8859-1 的编码)
<<>>&&' '
注册商标TM ?
N1.0+ 注册商标TM ?
著作权符号 ?
N1.0+ 著作权符号 ?
5.表单 (通常需要与CGI程式配合)
定义表单 <FORM ACTION='URL' METHOD=GET|POST></FORM>
N2.0 上传档案 <FORM ENCTYPE='multipart/form-data></FORM>
输入栏位 <INPUT TYPE='TEXT|PASSWORD|CHECKBOX|RADIO|IMAGE|HIDDEN|SUBMIT|RESET'>
栏位名称 <INPUT NAME='***'>
栏位内定值 <INPUT value='***'>
已选定 <INPUT CHECKED>(适用於checkboxes与 radio boxes)
栏位宽度 <INPUT SIZE=?>(以字元数为单位)
最长字数 <INPUT MAXLENGTH=?>(以字元数为单位)
下拉式选单 <SELECT></SELECT>
下拉式选单名称 <SELECT NAME='***'></SELECT>
选单项目数量 <SELECT SIZE=?></SELECT>
多选式选单 <SELECT MULTIPLE>(多选)
选项 <OPTION>
内定选项 <OPTION SELECTED>
文字输入区 <TEXTAREA ROWS=? COLS=?></TEXTAREA>
输入区名称 <TEXTAREA NAME='***'></TEXTAREA>
N2.0 输入区换行方式 <TEXTAREA WRAP=OFF|VIRTUAL|PHYSICAL></TEXTAREA>
6.表格
3.0 定义表格 <TABLE></TABLE>
3.0 表格框线 <TABLE BORDER></TABLE>(有或没有)
N1.1 表格框线 <TABLE BORDER=?></TABLE>(可以设定数值)
N1.1 储存格左右留白 <TABLE CELLSPACING=?>
N1.1 储存格上下留白 <TABLE CELLPADDING=?>
N1.1 表格宽度 <TABLE WIDTH=?>(以pixels为单位)
N1.1 宽度比率 <TABLE WIDTH=%>(页宽为100%)
3.0 表格列 <TR></TR>
3.0 表格列内容看齐 <TR ALIGN=LEFT|RIGHT|CENTER VALIGN=TOP|MIDDLE|BOTTOM>
3.0 储存格 <TD></TD>(须与列并用)
3.0 储存格内容看齐 <TD ALIGN=LEFT|RIGHT|CENTER VALIGN=TOP|MIDDLE|BOTTOM>
3.0 不换行 <TD NOWRAP>
N3.0 储存格背景颜色 <TD BGCOLOR=#$$$$$$>
3.0 储存格横向连接 <TD COLSPAN=?>
3.0 储存格纵向连接 <TD ROWSPAN=?>
N1.1 储存格宽度 <TD WIDTH=?>(以pixels为单位)
N1.1 储存格宽度比率 <TD WIDTH=%>(页宽为100%)
3.0 表格标题 <TH></TH>(跟<TD>一样,不过会对中并加粗)
3.0 表格标题对齐 <TH ALIGN=LEFT|RIGHT|CENTER VALIGN=TOP|MIDDLE|BOTTOM>
3.0 表格标题不换行 <TH NOWRAP>
3.0 表格标题占几栏 <TH COLSPAN=?>
3.0 表格标题占几列 <TH ROWSPAN=?>
N1.1 表格标题宽度 <TH WIDTH=?>(以pixels为单位)
N1.1 表格标题比率宽度<TH WIDTH=%>(页宽为100%)
3.0 表格抬头 <CAPTION></CAPTION>
3.0 表格抬头看齐 <CAPTION ALIGN=TOP|BOTTOM>(在表格之上/之下)
视框 (定义与控制萤幕上的特定区域)
N2.0 视框格式总定义 <FRAMESET></FRAMESET>(取代<BODY>)
N2.0 视框行长度分配 <FRAMESET ROWS=,,,></FRAMESET>(pixels 或 %)
N2.0 视框行长度分配 <FRAMESET ROWS=*></FRAMESET>(* = 相对大小)
N2.0 视框栏宽度分配 <FRAMESET COLS=,,,></FRAMESET>(pixels 或 %)
N2.0 视框栏宽度分配 <FRAMESET COLS=*></FRAMESET>(* =相对大小)
N2.0 定义个别视框 <FRAME>(定义个别视框)
N2.0 个别视框内容 <FRAME src='/URL'>
N2.0 个别视框名称 <FRAME NAME='***'|_blank|_self|_parent|_top>
N2.0 边缘宽度 <FRAME MARGINWIDTH=?>(「左」与「右」边界)
N2.0 边缘高度 <FRAME MARGINHEIGHT=?>(「天顶」与「地底」边界)
N2.0 卷动条 <FRAME SCROLLING='YES|NO|AUTO'>
N2.0 不可改变大小 <FRAME NORESIZE>
N2.0 无视框时的内容 <NOFRAMES></NOFRAMES>(如果浏览器不提供视框功能的话)
7.杂项
说明 <!-- *** -->(浏览器不会显示)
HTM与HTML没有本质意义的区别,只是为了满足磁盘 *** 作系统(DOS)仅能识别三位文件名而已,因为一些老的系统(win32)不能识别四位文件名,所以某些网页服务器要求index.html最后一个l必须去掉。(因为html识别不了,只能识别htm)。
MSIE能自动识别和打开这些文件,但编写网页地址的时候必须是完全对应的,也就是说index.htm和index.html是两个不同的文件,对应着不同的地址。值得一提的是UNIX系统中对大小写敏感,不吻合的话就可能报没有文件或者找不到文件。
扩展资料:
出现两种文件格式的原因:
1、htm 是来源于老的 8.3 文件格式,DOS *** 作系统只能支持长度为三位的后缀名,所以是 htm,但在 windows 下无所谓 HTM 与 HTML,html 是为长文件名的格式命名的。
2、所以 htm 是为了兼容过去的DOS命名格式存在的,在效果上没有区别的。以前 htm 和 html 作为不同的服务器上的超文本文件,但现在通用。
3、8.3文件格式这是一种在老的16位Win95或Win98文件系统的短文件名文件格式,扩展名只限于3位,文件名只限于8位。
4、如果要与16位系统交互,比如说,要把一个路径传给一个16位的程序,你就不能用长文件名,而必须对它进行转换。
5、例如把"C : /MyLongestPath/MyLongerPath/MyFilename.txt"转换成"C : /Mylong~1/MyLong~2/Myfile~1.txt"
6、在FAT磁盘格式下的DOS中只支持8.3文件格式,如果你要在这个环境下做应用,应该要注意这个文件格式问题。
7、在NTFS下,默认可以兼容这种文件格式,同时也支持长文件名,你也可以通过调整注册表来取消对8.3文件格式也支持。
参考资料:百度百科——HTM
参考资料:百度百科——HTML
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)