如何防止apple id被盗源码被盗

如何有效防止Java程序源码被人偷窥?[1]
如何有效防止Java程序源码被人偷窥?[1]
  Java程序的源代码很容易被别人偷看,只要有一个反编译器,任何人都可以分析别人的代码。本文讨论如何在不修改原有程序的情况下,通过加密技术保护源代码。
  一、为什么要加密?
  对于传统的C或C++之类的语言来说,要在Web上保护源代码是很容易的,只要不发布它就可以。遗憾的是,Java程序的源代码很容易被别人偷看。只要有一个反编译器,任何人都可以分析别人的代码。Java的灵活性使得源代码很容易被窃取,但与此同时,它也使通过加密保护代码变得相对容易,我们唯一需要了解的就是Java的ClassLoader对象。当然,在加密过程中,有关Java Cryptography Extension(JCE)的知识也是必不可少的。
  有几种技术可以“模糊”Java类文件,使得反编译器处理类文件的效果大打折扣。然而,修改反编译器使之能够处理这些经过模糊处理的类文件并不是什么难事,所以不能简单地依赖模糊技术来保证源代码的安全。
  我们可以用流行的加密工具加密应用,比如PGP(Pretty Good Privacy)或GPG(GNU Privacy Guard)。这时,最终用户在运行应用之前必须先进行解密。但解密之后,最终用户就有了一份不加密的类文件,这和事先不进行加密没有什么差别。
  Java运行时装入字节码的机制隐含地意味着可以对字节码进行修改。JVM每次装入类文件时都需要一个称为ClassLoader的对象,这个对象负责把新的类装入正在运行的JVM。JVM给ClassLoader一个包含了待装入类(比如java.lang.Object)名字的字符串,然后由ClassLoader负责找到类文件,装入原始数据,并把它转换成一个Class对象。
  我们可以通过定制ClassLoader,在类文件执行之前修改它。这种技术的应用非常广泛??在这里,它的用途是在类文件装入之时进行解密,因此可以看成是一种即时解密器。由于解密后的字节码文件永远不会保存到文件系统,所以窃密者很难得到解密后的代码。
  由于把原始字节码转换成Class对象的过程完全由系统负责,所以创建定制ClassLoader对象其实并不困难,只需先获得原始数据,接着就可以进行包含解密在内的任何转换。
  Java 2在一定程度上简化了定制ClassLoader的构建。在Java 2中,loadClass的缺省实现仍旧负责处理所有必需的步骤,但为了顾及各种定制的类装入过程,它还调用一个新的findClass方法。
  这为我们编写定制的ClassLoader提供了一条捷径,减少了麻烦:只需覆盖findClass,而不是覆盖loadClass。这种方法避免了重复所有装入器必需执行的公共步骤,因为这一切由loadClass负责。
  不过,本文的定制ClassLoader并不使用这种方法。原因很简单。如果由默认的ClassLoader先寻找经过加密的类文件,它可以找到;但由于类文件已经加密,所以它不会认可这个类文件,装入过程将失败。因此,我们必须自己实现loadClass,稍微增加了一些工作量。
  二、定制类装入器
  每一个运行着的JVM已经拥有一个ClassLoader。这个默认的ClassLoader根据CLASSPATH环境变量的值,在本地文件系统中寻找合适的字节码文件。
  应用定制ClassLoader要求对这个过程有较为深入的认识。我们首先必须创建一个定制ClassLoader类的实例,然后显式地要求它装入另外一个类。这就强制JVM把该类以及所有它所需要的类关联到定制的ClassLoader。Listing 1显示了如何用定制ClassLoader装入类文件。
  【Listing 1:利用定制的ClassLoader装入类文件】
以下是引用片段:  //&首先创建一个ClassLoader对象   ClassLoader&myClassLoader&=&new&myClassLoader();   //&利用定制ClassLoader对象装入类文件   //&并把它转换成Class对象   Class&myClass&=&myClassLoader.loadClass(&"mypackage.MyClass"&);   //&最后,创建该类的一个实例   Object&newInstance&=&myClass.newInstance();   //&注意,MyClass所需要的所有其他类,都将通过   //&定制的ClassLoader自动装入
  如前所述,定制ClassLoader只需先获取类文件的数据,然后把字节码传递给运行时系统,由后者完成余下的任务。[1] &[] &[] &[] &
&&&主编推荐
H3C认证Java认证Oracle认证
基础英语软考英语项目管理英语职场英语
.NETPowerBuilderWeb开发游戏开发Perl
二级模拟试题一级模拟试题一级考试经验四级考试资料
港口与航道工程建设工程法规及相关知识建设工程经济考试大纲矿业工程市政公用工程通信与广电工程
操作系统汇编语言计算机系统结构人工智能数据库系统微机与接口
软件测试软件外包系统分析与建模敏捷开发
法律法规历年试题软考英语网络管理员系统架构设计师信息系统监理师
高级通信工程师考试大纲设备环境综合能力
路由技术网络存储无线网络网络设备
CPMP考试prince2认证项目范围管理项目配置管理项目管理案例项目经理项目干系人管理
Powerpoint教程WPS教程
电子政务客户关系管理首席信息官办公自动化大数据
职称考试题目
就业指导签约违约职业测评
招生信息考研政治
网络安全安全设置工具使用手机安全
3DMax教程Flash教程CorelDraw教程Director教程
Dreamwaver教程HTML教程网站策划网站运营Frontpage教程
生物识别传感器物联网传输层物联网前沿技术物联网案例分析
互联网电信IT业界IT生活
Java核心技术J2ME教程
Linux系统管理Linux编程Linux安全AIX教程
Windows系统管理Windows教程Windows网络管理Windows故障
组织运营财务资本
视频播放文件压缩杀毒软件输入法微博
数据库开发Sybase数据库Informix数据库
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&如何防止源码被盗_百度知道
如何防止源码被盗
关键看你什么源码 防护要从前段和后端入手
前段就是隐藏源码名称 后端是做好服务器安全
不然服务器被入侵了 什么都完了
知道智能回答机器人
我是知道站内的人工智能,可高效智能地为您解答问题。很高兴为您服务。
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁防止别人查看网页源代码的方法分析
先前有一朋友做了个网站,但是有担心别人复制他的网站内容和源代码,就问怎么样才能防止人家看他网站的源码?(其实谁愿意看他网站哇&&呵呵 开玩笑的啦)对于防止别人看网页源代码的方法,一般现在能通过一些方法能够实现,下面,炬点就简单为大家分析一下吧。
如果我们要防止别人看网页源代码,那我们先分析下别人是怎么查看网页源代码的吧。一般我们都知道通过IE也就是我们所说的微软出品的IE浏览器,当你打开一个网页的时候,等她完全加载好之后,点击浏览器菜单栏里的&查看&,里面有&源文件&选项(或者在网页的空白处右击,选择&查看源文件&就也可以查看到网页源代码了)。
现在一般很多人是通过JS来防止别人查看网页源代码的,具体的方法也比较多,这边炬点网就为大家简单整理了几个方法,不过这些既然叫&方法&那必然会有高手有方法还是能破解开的。
一、下面的这个还算是比较好的防止查看网页源代码的方法,大家也可以试试。
&script language=&javascript&&
function clear(){
Source=document.body.firstChild.
document.open();
document.close();
document.title=&看不到源代码&;
document.body.innerHTML=S
&body onload=clear()&
&a href=&&炬点网&/a&源代码好像是不让看的!--&
二、下面的这个方法是防止别人在网页上面使用右键查看网页源代码的方法,大家可以看看。
&SCRIPT language=javascript&
function click() { if (event.button==2) { alert(\'对不起,禁止使用此功能^_^.\') } } document.onmousedown=click
&script language=&JavaScript&&
&!-- locate = 0; function scroller()
{ if (locate !=500 ) { locate++; scroll(0,locate); clearTimeout(timer); var timer = setTimeout(&scroller()&,3); } } // --&
这第二种方法,大家需要在HTML代码中加入&&SCRIPT language=javascript& function click() {if (event.button==2) {alert('不能查看!');}}document.onmousedown=click &/SCRIPT&&一段代码的。
三、直接让你在浏览网页的时候右键点击失效,下面的我们应用的代码。
&script language=&JavaScript&&
if (window.Event)
document.captureEvents(Event.MOUSEUP);
function nocontextmenu()
event.cancelBubble = true
event.returnValue =
function norightclick(e)
{if (window.Event)
if (e.which == 2 || e.which == 3)
if (event.button == 2 || event.button == 3)
event.cancelBubble = true
event.returnValue =
document.oncontextmenu = // for IE5+
document.onmousedown = // for all others
四、屏蔽右键菜单查看方式
& Script Language=java script&
function Click(){
alert('版权所有(C)XXXltd.');
window.event.returnValue=
document.oncontextmenu=C
& /Script&
这样无论采取什么方式点击鼠标,都不会再出现快捷菜单了。不过值得注意的是,如果访问者直接在浏览器地址栏中键入&java script:alert(document.oncontextmenu='')&,就可以解除对右键菜单的屏蔽。
五、屏蔽窗口菜单栏查看方式(这个方式其实是对第四点的一个防范了)这个方法是对新打开窗口的各种属性可以进行控制,具体包括控制菜单栏、滚动条及地址栏是否可见等。如果把父窗口关闭,并将新打开窗口的菜单栏和地址栏隐藏,不就可以屏蔽窗口菜单栏查看方式了吗?实现代码如下:
& Object id=closes type=&application/x-oleobject&
classid=&clsid:adb880a6-d8ff-11cf-3b7a11&&
& Param name=&Command& value=&Close&&
& /Object&
& Script Language=java script&
closes.Click()
window.open(&网页文件名.htm&,&&,&menubar=no,location=no,
scrollbars=yes,resizable=yes&)
& /Script&
这种方法的原理就是首先将自己网站的首页制作成index.htm形式,把首页设计成一个过渡页。然后将自己的真正主页制作成default.htm形式(具体实现过程见本文所附源代码)。这样访问者无论如何也无法查看网页源代码了。这不仅仅保护了您的版权,也为进一步开发提供了保障。通过此方法,您可以结合Cookie技术,真正做到限制用户浏览网页,从而避免主页资料被非法访问者访问。
不过话又说回来了,人家网易、新浪她们怎么没有防止人家查看网页源代码呢?你一个小小的这么矫情?当然这个不是这样讲的啦。毕竟人家那些大型网站可能和一些网络的爱好者们不同啦。
此外,炬点还想指出的是,有些禁用页面效果的Javascript脚本在Firefox里就会失效的,再加上Firefox的网页开发插件,那就更加如虎添翼了。所以呢,有时候我们在绞尽脑汁不想让别人查看到源代码的时候,别人当然也能够通过一定的方法来和你较劲啦!其实,如果人家真想看源代码是没办法阻止的,不然你只能对服务器进行加密处理咯。
写到这边其实也有点累了,炬点就想和大家讲一下了。既然你做了网站,那就是展示给别人看的,那还害怕人家查看吗?就算我们做了很多工作,不过高手毕竟还是存在的呀。我们要做的不是为了防止人家看网站,而是要做好日常的网站维护工作。虽然国内的网络环境比较复杂,但是这样子去防人也不是太好啦!做了网站就等于是全部的内容展现在了人们的面前了,我们再去做这样的工作呢主要估计就是想别人不要剽窃一些好玩的东西吧?呵呵~
当然,对网页的保护并不仅仅是涉及源代码的保护,更应该包含对网页数据或网络的保护。对网络数据库的保护可采用基于IIS的CGI接口的认证程序,SQL的安全技术,ASP安全认证程序, Applet安全认证程序等手段,属于更高层次的安全措施的大量内容。对网页的保护是要做的,日常维护下就可以了,当然对细节要求有时候也是要注意的吧,对于网页代码有时候让人查看到其实也无所谓啦,毕竟现在网络的资源也是很多的,别人也可以通过其他途径荡到一些资源啦。
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'您的举报已经提交成功,我们将尽快处理,谢谢!
经常更换一下,做成动太的,当然,你得有你自己的存放地方比如web空间等
不再网吧上网。不用键盘输入密码。用鼠标的软键盘。输密码时看看背后有人吗。不乱回复转发陌生人的信息。
大家还关注
(window.slotbydup=window.slotbydup || []).push({
id: '2081942',
container: s,
size: '1000,60',
display: 'inlay-fix'

我要回帖

更多关于 如何防止身份证被盗用 的文章

 

随机推荐