新闻详细
新闻当前位置:新闻详细

如何防止别人看到网页源代码,web前端怎么防止代码注入攻击

专业编程培训机构——完成蜕变以后轻松拿高薪

电话+V: 152079-09430 ,欢迎咨询网页源码暴露防止攻击怎么设置,[python实用课程],[C++单片机原理],[C#网站搭建],[Nodejs小程序开发],[ios游戏开发],[安卓游戏开发],[教会用大脑用想法赚钱实现阶层跨越]

一、如何防止别人看到网页源代码

如果我们要防止别人看网页源代码,那我们先分析下别人是怎么查看网页源代码的吧。一般我们都知道通过IE也就是我们所说的微软出品的IE浏览器,当你打开一个网页的时候,等她完全加载好之后,点击浏览器菜单栏里的“查看”,里面有“源文件”选项(或者在网页的空白处右击,选择“查看源文件”就也可以查看到网页源代码了)。

现在一般很多人是通过JS来防止别人查看网页源代码的,具体的方法也比较多,这边炬点网就为大家简单整理了几个方法,不过这些既然叫“方法”那必然会有高手有方法还是能破解开的。

一、下面的这个还算是比较好的防止查看网页源代码的方法,大家也可以试试?

<html>

<head>

<scriptlanguage="javascript">

functionclear(){

Source=document.body.firstChild.data;

document.open();

document.close();

document.title="看不到源代码";

document.body.innerHTML=Source;

}

</script>

</head>

<bodyonload=clear()>

<!--

<ahref="http://www.jdkjweb.com>炬点网</a>源代码好像是不让看的!-->

</body>

</html>

二、下面的这个方法是防止别人在网页上面使用右键查看网页源代码的方法,大家可以看看。

<SCRIPTlanguage=javascript>

functionclick(){if(event.button==2){alert(\\'对不起,禁止使用此功能^_^.\\')}}document.onmousedown=click

</SCRIPT>

<scriptlanguage="JavaScript">

<!--locate=0;functionscroller()

{if(locate!=500){locate++;scroll(0,locate);clearTimeout(timer);vartimer=setTimeout("scroller()",3);timer;}}//-->

</script>

这第二种方法,大家需要在HTML代码中加入“<SCRIPTlanguage=javascript>functionclick(){if(event.button==2){alert('不能查看!');}}document.onmousedown=click</SCRIPT>”一段代码的。

三、直接让你在浏览网页的时候右键点击失效,下面的我们应用的代码。

<scriptlanguage="JavaScript">

<!--

if(window.Event)

document.captureEvents(Event.MOUSEUP);

functionnocontextmenu()

{

event.cancelBubble=true

event.returnValue=false;

returnfalse;

}

functionnorightclick(e)

{if(window.Event)

{

if(e.which==2||e.which==3)

returnfalse;

}

else

if(event.button==2||event.button==3)

{

event.cancelBubble=true

event.returnValue=false;

returnfalse;

}

}

document.oncontextmenu=nocontextmenu;//forIE5+

document.onmousedown=norightclick;//forallothers

//-->

</script>

四、屏蔽右键菜单查看方式

<ScriptLanguage=javascript>

functionClick(){

alert('版权所有(C)XXXltd.');

window.event.returnValue=false;

}

document.oncontextmenu=Click;

</Script>

这样无论采取什么方式点击鼠标,都不会再出现快捷菜单了。不过值得注意的是,如果访问者直接在浏览器地址栏中键入"javascript:alert(document.oncontextmenu='')",就可以解除对右键菜单的屏蔽。

五、屏蔽窗口菜单栏查看方式(这个方式其实是对第四点的一个防范了)这个方法是对新打开窗口的各种属性可以进行控制,具体包括控制菜单栏、滚动条及地址栏是否可见等。如果把父窗口关闭,并将新打开窗口的菜单栏和地址栏隐藏,不就可以屏蔽窗口菜单栏查看方式了吗?实现代码如下:

<Head>

<Objectid=closestype="application/x-oleobject"

classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">

<Paramname="Command"value="Close">

</Object>

</Head>

<Body>

<ScriptLanguage=javascript>

closes.Click()

window.open("网页文件名.htm","","menubar=no,location=no,

scrollbars=yes,resizable=yes")

</Script>

</Body>

这种法的原理就是首先将自己网站的首页制作成index.htm形式,把首页设计成一个过渡页。然后将自己的真正主页制作成default.htm形式(具体实现过程见本文所附源代码)。这样访问者无论如何也无法查看网页源代码了。这不仅仅保护了您的版权,也为进一步开发提供了保障。通过此方法,您可以结合Cookie技术,真正做到限制用户浏览网页,从而避免主页资料被非法访问者访问。

不过话又说回来了,人家网易、新浪她们怎么没有防止人家查看网页源代码呢?你一个小小的站长这么矫情?当然这个不是这样讲的啦。毕竟人家那些大型网站可能和一些网络的爱好者们不同啦。

二、公司的源代码应该怎么保护,防止泄密呢?

首先要明确,哪些数据是核心机密数据,不能让普通员工轻易接触到的,即使是研发型公司的代码,也是会划分等级的,要在保证员工的工作效率的前提下,对代码实施保护措施。

下面简单谈一下我的看法,讲讲如何防止员工的代码泄露。

首先要明确以下两点:

1、不影响被防范的成员(比如新程序员)工作。让其能正常运行、调试、查看日志等。

2、对核心代码封死,需要保护的部分不可见。

再来看看有哪些具体做法:

签署保密协议

对源代码分级,清楚知道什么是需要保护的

为版本管理服务器上的工程设置读取密码

源码版本控制,按照职责和权限进行划分

确保架构做分层

屏蔽USB和光驱

每人两台电脑,分别连接不同网络

封闭式开发、禁止上互联网

使用加密软件

使用加水印功能

使用云桌面技术

实施网络隔离

……

当然,每个公司会根据自身的实际情况来选择一种适合的方法,前提是不影响员工工作效率,不能让员工产生抵触情绪。公司的价值都是员工创造的,所以一定要秉着以人为本的原则,让员工对公司忠诚,减少离职,这才是利益最大化的方法。

在以上这些方法中,个人较为推荐的是使用云桌面或者实施网络隔离,通过云桌面实现数据不落地,防止被拷贝;实施网络隔离可以有效阻断数据的外泄。之前看过《企业网络隔离建设指南》,感觉还不错,推荐给大家参考一下。

三、web前端怎么防止代码注入攻击

一,HTML防注入。

一般的html注入都是在字符串中加入了html标签,用下JAVA代码可以去掉这部分代码。

代码如下,自己封装成方法即可。

Stringmsge="asdasdasdasd<divid="f">asdfsdf";

System.out.println(msge);

msge=msge.replace("","");

msge=msge.replace("<","<");

msge=msge.replace("","");

msge=msge.replace(">",">");

msge=msge.replace(""",""");

msge=msge.replace("'","qpos;");

System.out.println(msge);

二、防SQL注入

最简单最容易的是限制用户输入。

简单点的就是不允许用户输入单引号和--,因为单引号号--在SQL中都是影响执行的。

但SQL注入是多方面的,防止的方法也有很多种。

1、地址栏禁止特殊字符防SQL注入

把特殊字符(如and、or、'、")都禁止提交就可以防止注入了。

2、php过滤html字符串,防止SQL注入

批量过滤post,get敏感数据

$_GET=stripslashes_array($_GET);

$_POST=stripslashes_array($_POST);

数据过滤函数

functionstripslashes_array($array){

while(list($key,$var)=each($array)){

if($key!='argc'$key!='argv'(strtoupper($key)!=$key||''.intval($key)=="$key")){

if(is_string($var)){

$array[$key]=stripslashes($var);

}

if(is_array($var)){

$array[$key]=stripslashes_array($var);

}

}

}

return$array;

}

3、替换HTML尾标签

functionlib_replace_end_tag($str)

{

if(empty($str))returnfalse;

$str=htmlspecialchars($str);

$str=str_replace('/',"",$str);

$str=str_replace("\\","",$str);

$str=str_replace(">","",$str);

$str=str_replace("<","",$str);

$str=str_replace("<SCRIPT>","",$str);

$str=str_replace("</SCRIPT>","",$str);

$str=str_replace("<script>","",$str);

$str=str_replace("</script>","",$str);

$str=str_replace("select","select",$str);

$str=str_replace("join","join",$str);

$str=str_replace("union","union",$str);

$str=str_replace("where","where",$str);

$str=str_replace("insert","insert",$str);

$str=str_replace("delete","delete",$str);

$str=str_replace("update","update",$str);

$str=str_replace("like","like",$str);

$str=str_replace("drop","drop",$str);

$str=str_replace("create","create",$str);

$str=str_replace("modify","modify",$str);

$str=str_replace("rename","rename",$str);

$str=str_replace("alter","alter",$str);

$str=str_replace("cas","cast",$str);

$str=str_replace("","",$str);

$str=str_replace(">",">",$str);

$str=str_replace("<","<",$str);

$str=str_replace("",chr(32),$str);

$str=str_replace("",chr(9),$str);

$str=str_replace("",chr(9),$str);

$str=str_replace("",chr(34),$str);

$str=str_replace("'",chr(39),$str);

$str=str_replace("<br/>",chr(13),$str);

$str=str_replace("''","'",$str);

$str=str_replace("css","'",$str);

$str=str_replace("CSS","'",$str);

return$str;

}

三、专业的事情交给专业的工具去做。

【FUTURE PROGRAMMING COURSE】尊享对接老板

电话+V: 152079-09430

机构由一批拥有10年以上开发管理经验,且来自互联网或研究机构的IT精英组成,负责研究、开发教学模式和课程内容。公司具有完善的课程研发体系,一直走在整个行业发展的前端,在行业内竖立起了良好的品质口碑。

网页源码暴露防止攻击怎么设置
Copyright2023未知推广科技