网页内容不能别COPY和禁止查看源文件(转载)

简单的视频防盗链 1.使用hls.js播放视频,页面中无法获得视频的src hls.js是视频播放的工具文件,在官网上有播放方式,可以产生如上图所示的效果,没有source标签,也就是说,在页面上隐藏掉了视频的url hls.js文件地址:https://cdn.jsdelivr.net/npm/hls.js@latest 拿到文件后创建一个新的js文件,将浏览器上的代码粘进去,注意如果浏览器自动翻译,要... 阅读详情

如何在网页中设置禁止查看源文件 收藏
很早就想写一篇关于网页源代码屏蔽的文章。是因为经常编出些JS脚本的之后,在沾沾自喜的同时,也在担心源代码会被人家看到,盗用我的脚本。所以一直以来,我都在尽力维护我的网页源代码的安全。虽然目前还没有找到完全安全的屏蔽方法(也就是说,这些方法在我想出来的同时,自己已经知道其弱点和破解方法了),但是,我这里有很多屏蔽的思路,来总结一下。

  众所周知,要保护一个页面,最基础的就是要屏蔽右键。而现在网页上用得最多的是function click(),即下面这段代码:

  〈script〉

  function click(){

  if(event.button==2){

  alert( ’本网站欢迎您 !!’);

  }

  }

  document.onmousedown=click

  〈/script〉

  但是这种屏蔽方法的破解方法也是众所周知的。那就是连续单击鼠标左键和右键便又可以看到右键菜单了。但是,我见过一种很好的屏蔽右键的方法。它的原理和上面所说的不同。它并不是用JS来编写的脚本,而是利用定义网页属性来起到限制的作用。而且,在屏蔽中应该尽量的避开使用JS脚本。因为只要浏览者把IE里的java script脚本禁用了。那么一切屏蔽都白费。

  那么继续说那种通过修改网页属性的屏蔽右键的方法。这种方法利用了HTML里的〈body〉来作修改,它只有以下短短的一行代码:

  〈body oncontextmenu='return false'〉

  这里,定义了oncontextmenu。使得右键的值为false,起到了屏蔽右键的效果。现在,再试试看刚才的破解方法,已经不行了。左右键连击已经不能再打开右键菜单。不但是这个,再试试看其他的方法。无论你怎样的乱点,右键都没有用。因为在这个网页里,右键已经不存在了。对于一个不存在的功能键,你又能做什么呢?

  但是,屏蔽了右键还不能解决问题。如果我要复制一段文字,或是一张图片。那么,把它选中后用ctrl+C 再用 ctrl+V不就可以复制粘贴了嘛。对了,接下来要讲的,就是屏蔽左键(什么?屏蔽左键?那这个网页不就差不多废掉了?别急,没说完呢,左键只有一项功能是很讨厌的)的选定功能。

  那么,如上所说,用JS来屏蔽是没有用的,治标不治本的。那么,我们就还用网页的最基础的语言:HTML来定义吧。还是老招数,定义〈body〉。这次用的参数是:onselectstart。就是左键选定的参数。代码如下:

  〈body onselectstart="return false"〉

  这样,左键选定功能就给轻易屏蔽了。原理和上面的一样。现在,再用你的左键选择任意内容把,已经没有用了。自然也不能ctrl + C,ctrl +V了。那么,现在我们来把这两部分合并起来。彻底控制左右键!:

  〈body oncontextmenu=self.event.returnvalue=false onselectstart="return
false"〉

  现在,左右键的问题总算是解决了吧。

  好,现在我们来看另一个问题。大家都知道,在IE浏览器的菜单栏里的“查看”项里。有一个“查看源代码”选项。这么一来,虽然我们屏蔽了右键里的查看源代码。但是,只要用菜单栏里的查看源代码,还是可以看到源代码的。这可怎么办呢?

  我最初的想法是用框架来避开源代码的查看。也就是说,只要一个网页是嵌在框架里的,那么在菜单栏里选择查看源代码查看到的只是框架网页的源代码。一般格式如下:

  〈html〉

  〈head〉

  〈meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312"〉

  〈title〉本网站标题〈/title〉

  〈/head〉

  〈frameset rows="47,*" framespacing="0" border="0"
frameborder="0"〉

  〈frame name="header" scrolling="no" noresize target="main"
src="top.htm"〉

  〈frame name="main" src="main.htm" scrolling="auto"
target="_self"〉

  〈noframes〉

  〈body〉

  〈p〉此网页使用了框架,但您的浏览器不支持框架。〈/p〉

  〈/body〉

  〈/noframes〉

  〈/frameset〉

  〈/html〉

  这样看起来对方是没有直接看到你的源代码了。但是,如果一个人要看你的源代码,那他八成是能看懂的。如果懂一点HTML的话,都能看出这两句是什么意思:

  〈frame name="header" scrolling="no" noresize target="main"
src="top.htm"〉

  〈frame name="main" src="main.htm" scrolling="auto"
target="_self"〉

  这两句的意思就是:在header(也就是网页顶部)处引用相对路径下的top.htm网页文件。而在main(也就是占据网页大部分页面的位置)处引用相对路径下的main.htm网页文件。就这两点是关键的,其他就不作解释了,大家也都懂的。而上面所讲的利用框架来隐藏源代码的方法就是将要显示页面放在main部分。而将header部分的大小设为0。但是这样一来,利用菜单栏里的查看源代码,还是能查看到框架网页的源代码。只要看到这两句,就知道我们前面用的手法了。也就是说,只要将框架网页的名字改为目标网页,便可以用相同的方法直接看到目标网页的源代码了。如:框架网页:http://www.sina.com.cn/red.htm的源代码如上,就可以改为Http://www.sina.com.cn/main.htm。这样便可直接浏览被保护网页,屏蔽源代码的效果还是没有达到。

  那么,有些人就会想到,如果对方看不到框架网页的源代码。又何谈去直接打开被保护网页?对,这就是接下来我要讲的。如果要一个页面的菜单栏内的查看源代码失去效用。那最简单的办法就是去掉菜单栏。而这一点是可以通过弹出窗口来实现的。之所以不选用超链接打开无菜单栏窗口是因为那样会暴露目标地址,浏览者可以直接在浏览器中敲入地址,而绕过这个屏蔽的菜单栏。要使用超链接打开无菜单栏窗口,就必须在一个已受到源代码屏蔽保障的网页中使用相关链接。

  那么,我们就看看如何利用弹出窗口来去掉菜单栏。其实,我们要做的,就是让目标网页在一个广告条中打开。这个代码几乎每个大型网站都会有的。代码如下:

  〈script〉

  〈!--

  window.open("red.htm", "red", "resizable=yes,width=500,height=300");

  --〉

  〈/script〉

  这里,在window.open后的括号里的第一个参数就是弹出窗口所显示的网页的位置,这里例子里是先对位置下的red.htm网页文件。这时运行便会谈出一个显示有red.htm的无菜单栏的窗口。好,我们的目的达到了。但是,这个窗口有一个缺陷,就是没有滚动条。因为在谈出窗口的语句:window.open里并没有关于滚动条的参数,(或是我不知道?欢迎高手来信指出),所以这里打开的网页建议只做成网页的导航页。

  但是,用以上方法取消菜单栏,必须有一个第二方的网页来作弹出的工作。那么,这个用来弹出窗口的网页又成为了一个问题的所在。举例来说:假设,我们用一个index.htm来作弹出窗口的工作。也就是打开index.htm之后,会弹出red.htm的无菜单栏窗口。前面我们也提到了,如果知道了一个网页的地址后,无论这个网页是否隐藏在无菜单栏之下,你都能看到它的源代码。那么,不让这个red.htm的地址暴露也就成了解决这个问题的关键。但是,只要这个index.htm被打开,就可以看到源代码。但是,不妨反过来想想,如果我们把index.htm给关起来呢?只要在浏览者没有来得及查看index.htm之前将它关闭,就能保住它的源代码了。那么,在这个index.htm里就有得做些文章了。

  那就是,添加关闭网页的代码。

  那么,我们就可以用window.close来关闭窗口。代码如下:

  〈script〉

  〈!--

  window.open();

  --〉

  〈/script〉

  那么,现在我们把两部分代码合并起来。现在,得到的效果就是——直接有一个无菜单栏的窗口打开了。因为计算机的处理速度很快,如果我们将这两段代码紧接着写在一起,那么我们就只能看到新建的窗口。代码如下:

  〈script〉

  〈!--

  window.open("red.htm", "red", "resizable=yes,width=500,height=300");

  window.close();

  --〉

  〈/script〉

  而原来的窗口,已在我们无察觉的情况下关闭了。这样,就别说查看该网页的源代码了。这里,加入上面源代码的网页起了一个跳板的作用。但是,在这里,我们要注意几点。第一,用来做跳板的网页不应该命名为index.htm。将它换一个名字,然后把默认首页的名字改为更改过的名字。这样,是浏览者能在输入网之后便自动访问该页。而又不致让对方知道该页的名称。如果不这样做,就会导致对方猜测出该页的位置。如:172.0.0.0/index.htm。这样,就可以通过在浏览器中提交:View-Source:Http://172.0.0.0/index.htm就可以看到该页的源代码了。

 在屏蔽掉了菜单栏和工具栏之后,我们想,如果没有了最上方的窗口条该多好呢?下面我们要做的事情,有前提,就是在上面所说的在利用跳板页面打开一个无菜单栏的窗口之后。我们要做什么呢?就是让我们显示网站内容的窗口只显示内容,(是啊,网站不就是给别人浏览的吗?要浏览器和windows的那么多功能做什么呀……)只要内容,其余一律去掉。我们就可以通过一段java
script来完成。下面这段代码就是用来定义无任何窗口特征的代码:

  〈script〉

  function open1(url){

  newwin=window.open(url,’newwindow’,’fullscreen=1’)

  newwin.resizeTo(800,600)

  newwin.moveTo(screen.width/0-800,screen.height/0-600)

  }

  〈/script〉

  其中,function open1(url)定义了超链接的写法。所以,我们在写链接的地址时,应该这样写:java script:open1(url)。比如我要打开一个无窗口特征的新浪首页就应该在文字或图片的超链接里这样写:java
script:open1(‘http:www.sina.com.cn’)。当然,括号内也支持相对路径。最后写出来的格式应该是:

  〈script〉

  function open1(url){

  newwin=window.open(url,’newwindow’,’fullscreen=1’)

  newwin.resizeTo(800,600)

  newwin.moveTo(screen.width/0-800,screen.height/0-600)

  }

  〈/script〉

  〈body oncontextmenu=self.event.returnvalue=false onselectstart="return
false"〉

  〈td width="100%"〉〈a href="java script:open1(’main.htm’),window.close()"〉〈img
border="0" src="pic/blank1.gif" style="position: absolute;
left: 556; top: 142" width="169" height="57"〉〈/a〉〈/td〉

  〈/body〉

  这样,我们就达到了打开无窗口边的网页了。并且,在这个网页中,会自动加入滚动条,这样,就不会像前面那样看不到下面的内容啦。

  最后我们要做的工作,就是把每一页,或者你认为重要的关键的页面进行加密,就OK啦。怎样对网页的源代码进行加密就不用我多说了吧?网上到处都有,可以用工具,也可以自己写一个htm文件来转换。加密软件,我推荐“Batch
HTML Encryptor”,去google找吧。还有转换加密网页的代码如下:

  〈HTML〉〈HEAD〉〈TITLE〉网页加密解密〈/TITLE〉

  〈META http-equiv=Content-Type content="text/html; charset=gb2312"〉

  〈META content="MSHTML 6.00.2600.0" name=GENERATOR〉〈!-- 大地软件工作室--〉〈LINK

  href="style.css" rel=stylesheet〉

  〈META content="Microsoft FrontPage 4.0" name=GENERATOR〉

  〈/HEAD〉

  〈BODY bgColor=#ffffff leftMargin=0 topMargin=0 onload=initStyleElements()〉

  〈DIV

  style="LEFT: 139px; WIDTH: 106px; POSITION: absolute; TOP: 52px; HEIGHT:
36px"〉

  〈TABLE cellSpacing=0 cellPadding=0 width=760 align=center border=0〉〈!--DWLayoutTable--〉

  〈TBODY〉

  〈TR〉

  〈TD vAlign=top align=middle width=760 height=310〉

  〈DIV align=center〉

  〈H2〉

  〈SCRIPT language=java script〉

  〈!--

  var i=0;

  var ie=(document.all)?1:0;

  var ns=(document.layers)?1:0;

  function initStyleElements() /* Styles for Buttons Init */

  {

  var c = document.pad;

  if (ie)

  {

  //c.text.style.backgroundColor="#DDDDDD";

  c.compileIt.style.backgroundColor="#C0C0A8";

  c.compileIt.style.cursor="hand";

  c.select.style.backgroundColor="#C0C0A8";

  c.select.style.cursor="hand";

  c.view.style.backgroundColor="#C0C0A8";

  c.view.style.cursor="hand";

  c.retur.style.backgroundColor="#C0C0A8";

  c.retur.style.cursor="hand";

  c.clear.style.backgroundColor="#C0C0A8";

  c.clear.style.cursor="hand";

  }

  else return;

  }

  /* Buttons Enlightment of "Compilation" panel */

  function LightOn(what)

  {

  if (ie) what.style.backgroundColor = ’#E0E0D0’;

  else return;

  }

  function FocusOn(what)

  {

  if (ie) what.style.backgroundColor = ’#EBEBEB’;

  else return;

  }

  function LightOut(what)

  {

  if (ie) what.style.backgroundColor = ’#C0C0A8’;

  else return;

  }

  function FocusOff(what)

  {

  if (ie) what.style.backgroundColor = ’#DDDDDD’;

  else return;

  }

  /* Buttons Enlightment of "Compilation" panel */

  function generate() /* Generation of "Compilation" */

  {

  code = document.pad.text.value;

  if (code)

  {

  document.pad.text.value=’Compiling...Please wait!’;

  setTimeout("compile()",1000);

  }

  else alert(’First enter something to compile and then press CompileIt’)

  }

  function compile() /* The "Compilation" */

  {

  document.pad.text.value=’’;

  compilation=escape(code);

  document.pad.text.value="〈script〉/n〈!--/ndocument.write(unescape(/""+compilation+"/"));/n//--〉/n〈//script〉";

  i++;

  if (i=1) alert("Page compiled 1 time!");

  else alert("Page compiled "+i+" times!");

  }

  function selectCode() /* Selecting "Compilation" for Copying */

  {

  if(document.pad.text.value.length〉0)

  {

  document.pad.text.focus();

  document.pad.text.select();

  }

  else alert(’Nothing for be selected!’)

  }

  function preview() /* Preview for the "Compilation" */

  {

  if(document.pad.text.value.length〉0)

  {

  pr=window.open("","Preview","scrollbars=1,menubar=1,status=1,width=700,height=320,left=50,top=110");

  pr.document.write(document.pad.text.value);

  }

  else alert(’Nothing for be previewed!’)

  }

  function uncompile() /* Decompiling a "Compilation" */

  {

  if (document.pad.text.value.length〉0)

  {

  source=unescape(document.pad.text.value);

  document.pad.text.value=""+source+"";

  }

  else alert(’You need compiled code to uncompile it!’)

  }

  // --〉

  〈/SCRIPT〉

  〈BR〉〈B〉〈FONT color=#333333〉网页HTML源代码加密解密器〈/FONT〉〈/B〉〈/H2〉〈/DIV〉

  〈TABLE cellSpacing=0 borderColorDark=#000000 cellPadding=10 width=750

  align=center borderColorLight=#ffffff border=2〉

  〈TBODY〉

  〈TR〉

  〈TD〉

  〈DIV align=center〉〈BR〉将你的源代码贴到编辑区域即可〈BR〉〈BR〉

  〈TABLE cellSpacing=0 cellPadding=0 width="100%" border=0〉

  〈TBODY〉

  〈TR〉

  〈TD width="100%"〉〈!-- Compilation Panel --〉

  〈FORM name=pad method=post align="center"〉

  〈DIV align=center〉〈TEXTAREA style="WIDTH: 95%; BACKGROUND-COLOR: #ebebeb"
name=text rows=11 cols=58〉〈/TEXTAREA〉

  〈BR〉〈BR〉〈BR〉〈INPUT onmouseover=LightOn(this) onclick=generate() onmouseout=LightOut(this)
type=button value=加密 name=compileIt〉

  〈INPUT onmouseover=LightOn(this) onclick=selectCode() onmouseout=LightOut(this)
type=button value=全选 name=select〉

  〈INPUT onmouseover=LightOn(this) onclick=preview() onmouseout=LightOut(this)
type=button value=预览 name=view〉

  〈INPUT onmouseover=LightOn(this) onclick=uncompile() onmouseout=LightOut(this)
type=button value=解密 name=retur〉

  〈INPUT onmouseover=LightOn(this) onmouseout=LightOut(this) type=reset value=清除
name=clear〉

  〈/DIV〉〈/FORM〉〈!-- Compilation Panel --〉〈/TD〉〈/TR〉〈/TBODY〉〈/TABLE〉〈/DIV〉〈/TD〉〈/TR〉〈/TBODY〉〈/TABLE〉

  〈DIV align=center〉〈BR〉〈/DIV〉

  〈DIV align=center〉〈/DIV〉 〈/TD〉〈/TR〉〈/TBODY〉〈/TABLE〉

  〈/DIV〉

  〈DIV〉〈/DIV〉〈/BODY〉〈/HTML〉

 总结一下……按我的思路,屏蔽网页源代码主要分为以下几个步骤:

  1. 做一个网页跳板,弹出要保护的广告条状页面,并将自身关闭,以避免泄露需保护网页的地址。

  2. 由于上述条件屏蔽了广告条内网页的源代码,所以可以用这个网页作为欢迎页。

  3. 在欢迎页中,利用java script以超连接的形式来打开无窗口边的新窗口显示网站内容。

  4. 对每一个页面或者对重要的关键的页面进行源代码加密,为源代码加一把锁。(有些人说对源代码进行加密没有用,但是我觉得要使用另类点的加密方法就可以了,比如软件的加密方法就很普通。但是用我自己写的htm文件加密的源代码,一般软件是不能进行解密的。大家有兴趣的话可以试试。)

  5. 最后不得不提的就是windows网页临时文件夹了,那里面会把源代码纪录的。但是不用怕,加入一种代码,就可以使windows不下载网页的源代码,直接浏览。可以去找找。

  有些东西要注意的:

  1. 在文中所说的自动关闭网页的语句:window.close()有一个弊病。就是会在关闭窗口之前询问是否关闭窗口,如果选择否的话目的还是达不到。

  2. 以上一切都只对IE浏览器有效用,如果用别的浏览器来浏览,就有可能出现屏蔽不成功的现象。

  3. 关于网页源代码屏蔽,一直以来是可望而不可及的。我只是把思路写下来,具体实现,还是要靠大家自己研究的啦。


本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/lg_lin/archive/2006/05/10/722635.aspx

C语言编写Copy程序(Linux环境下的操作) COPY程序的编写 (作者:Baron_wu 禁止转载) 一、实验描述 在这个实验中,我们要做一个程序,这个程序是将一个文件的内容复制到一个目标文件。首先这个程序提示用户输入要复制的原始文件的名字,以及要复制到的目标文件的名字。 确保包括必要的错误检查,包括确保原始文件存在。再使用程序的同时我们要监视这个过程中所用到的系统调用。Linux可使用strace来完成。 二、相关原理与知识... 阅读详情

相关推荐

遇到禁止复制该怎么办?幸好我会Python...

目录 01、小案例 1、安装pdfkit库 2、小案例 02、实战 1、目标网站 03、小结 或者是这种情况 以上这种情况都是网页无法复制文本的情况。不过这些对于Python来说都不是问题。今天辰哥就叫你们用Python去解决。 思路:利用pdfkit库将html网页保存为pdf 01、小案例 1、安装pdfkit库 pip install pdfkit 通过命令安装pdfkit,此外还需要安装exe文件(wkhtmltopdf)。 下载链接:https://wkh

program_G的博客 2779

Webpack的Source Map

1.生成环境遇到的问题 前端项目在投入生产环境之前,都需要对JavaScript源代码进行压缩混淆,从而减小文件的体积,提高文件的加载效率。 其中,会不可避免的一些问题: 对压缩混淆之后的代码除错(debug) 变量被替换成没有任何语义的名称 空行和注释被剔除 2.什么是Source Map Source Map就是一个信息文件,里面存储着位置信息。也就是说,Source Map文件中存储着代码压缩混淆前后的对应关系。 有了它,出错的时候,除错工具将直接显示原始代码,而不是转换后的代码,能够

weixin_46274192的博客 501

知乎禁止转载的回答怎么复制做笔记?

知乎禁止转载的回答怎么复制做笔记?

weixin_54626591的博客 3826

如何在网页中设置禁止查看源文件

很早就想写一篇关于网页源代码屏蔽的文章。是因为经常编出些JS脚本的之后,在沾沾自喜的同时,也在担心源代码会被人家看到,盗用我的脚本。所以一直以来,我都在尽力维护我的网页源代码的安全。虽然目前还没有找到完全安全的屏蔽方法(也就是说,这些方法在我想出来的同时,自己已经知道其弱点和破解方法了),但是,我这里有很多屏蔽的思路,来总结一下。   众所周知,要保护一个页面,最基础的就是要屏蔽右键。而现在网页上

爱生活 3114

STM32 ES8266上阿里云IOT MQTT实践【第七章】:ESP8266+MQTT上阿里云物联网平台实践

本篇文章讲述了如何使用stm32接入阿里云IOT,WiFi模块为ESP8266,可以实现发布以及订阅。

超级大洋葱的博客 2万+

禁止查看源文件有下面几种方式

[url] http://xiongbeyond.blog.sohu.com/155549034.html[/url]禁止查看源文件有下面几种方式: 【锁定左健和右键】 将网页中的换为如下代码即可: 方法1: 方法2: 【拒绝另存为】 在和之间加入如下代码: 【防止被Frame框架】 if (top.location != self....

nothing 743

数据分析是什么?

说道“数据分析”一词,大家应该并不陌生,数据分析从字面上来理解,就是对数据做出分析然后得出一个结论,看起来浅显易懂,下面我们把这个词语分开得到的是“数据”与“分析”。“数据”的范围就很广泛了,小到一个计量数字,大到成亿级别的数据汇总,都可以称为数据;“分析”一词并不难理解,以智慧思维的方法对某一事物做出合理的解释,给出结论是为分析,一般会用到数学上的分析方法,比如统计学或者概率论等等。 1. 什么是数据分析 1) 数据分析发展背景 进入到 21 世纪以后,伴随着互联网的迅速发展,大数据应运而生,越来越多的数

MC_XY的博客 5434

【漏洞挖掘】sourcemap、webpck源码泄露漏洞

访问官网,下载安装包,然后一路next即可安装包会自动添加环境变量确认是否安装成功npm -v。

tyty2211的博客 5229

FPGA控制DDR读写(AXI4总线接口)

FPGA控制DDR读写

qq_42712308的博客 1万+

从仿真到器件:铌酸锂电光调制器Comsol建模避坑指南

本文详细介绍了铌酸锂电光调制器在Comsol中的建模全流程,涵盖晶体切向选择、材料参数配置、多物理场耦合等关键技术。通过实战案例和调试技巧,帮助工程师避开常见建模陷阱,提升仿真精度与效率,特别适用于高速光通信系统的器件设计与优化。

m2n3b4v5c6的博客 422

功能实现-解除页面禁止复制禁止转载功能

功能实现-解除页面禁止复制功能 解除页面禁止复制功能 起源:今天照例进行日常总结,在查找资料进行ctrl+c加ctrl+v时,发现知乎的页面竟然禁止转载了,也就是对复制做了拦截, 需要登录才可以复制,然而我们公司因为安全的原因,知乎以及很多网站是无法登陆,那咋办?都是前端开发,同行就别这样啦。 后续发现知乎不是所有内容都是禁止转载的,只有设置了禁止转载的内容才禁止复制,普通内容在复制后会加上版权以及来源 前端实现禁止复制功能的方法,目前就两大类 通过js阻止复制功能实现禁止复制。

qq_39974331的博客 3659

Yandex复杂还原验证码识别

本文分析了Yandex滑动验证码的识别方法,指出其通过JS判断正确滑动位置而非用户交互还原图像。核心思路是通过像素差异分析,将验证码图像重组后(分为3×3或4×4),计算相邻图像间的像素差异,最小值即为正确位置。与前期某象验证码识别方法类似,需结合图像增强技术统一像素直方图。文章强调该方法仅供学习参考,严禁用于违法行为。完整识别流程包括图像重组、像素差异计算等步骤,最终可准确定位正确拼图位置。

码王吴彦祖的博客 286

能够破解网站禁止复制的插件:Enable Copy

Enable Copy的开发背景 如果您在一个网站上看到一篇喜欢的文章或在网上阅读小说的时候希望把喜欢的段落复制并粘贴到本地计算机中,但是当您使用鼠标选择到相应的文本并复制的时候网站却提示出一个弹出窗口禁止复制网页上的内容,这无疑是令人遗憾的,如果遇到这种情况对于有经验的网站开发人员来说比较好解决:因为阻止在网页上复制文字的功能一般都是使用javascript脚本来编写的,用户只需要...

lisheng19870305的专栏 1万+

使用安卓的IMU数据进行 行人航位推算(PDR)推算步长 附python 代码

加速度计数据、陀螺仪数据、重力传感器数据、姿态仰角数据。数据分析与定位轨迹生成主要使用Python离线完成。示意图。

三维点云技术探索 1918

手把手教你完成基于matlab的路面裂缝检测系统设计

裂缝是路面病害最早的形态之一,只有在裂缝出现的早期进行维护,才能有效地提高公路的使用寿命。因此,路面裂缝的检测识别系统对于提升公路质量有着重大的意义。首先,对路面裂缝图像进行相应的预处理,目的是减小环境因素的影响,消除无用的噪点。然后提取目标图像特征,判断路面裂缝类型,标记出路面裂缝的位置。最后通过设计的 GUI 界面来集成各个关键步骤,显示所得到的试验结果。仿真结果表明,设计的路面裂缝检测识别系统是高效可行的。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1216

优快云博客转载别人大神的文章小操作--补充1

上篇文章:优快云博客转载别人大神的文章小操作 https://blog.youkuaiyun.com/zz13995900221/article/details/79743592 补充: 1、优快云博客转载别人大神的文章,有时碰到不能复制源文件页面代码的情况。这是因为: 有时我们在上网冲浪的时候会遇见自己比较喜欢的网站,可是有很多效果非常好的网站想查看网页效果源码,但是网站禁止了鼠标右键点击,这样...

十豆三展的博客 275

贝叶斯统计 [韦来生编]

贝叶斯(Bayes)统计是近几十年来迅速发展起来的数理统计的一个重要分支。贝叶斯方法与经典统计方法的主要不同之处是进行统计推断时除了利用样本信息外,还要利用参数的先验信息,因此可以提高统计推断或统计决策的效果。它在经济、金融、生物、医学、自然科学和社会科学等许多领域具有广泛的应用。贝叶斯方法的研究已渗透到了统计学的几乎所有领域。作者在给中国科学技术大学概率论与数理统计专业本科生开设的“数理统计”课程中有一章专门讲授“贝叶斯方法和统计决策理论”,近十年来也给中国科学技术大学概率统计专业研究生开设过几次“贝叶斯分析”课。本书是在对过去讲稿的内容作了适当的增减和调整的基础上完成的。  本书共分六章。第1章是绪论,介绍了贝叶斯统计的若干基本概念,同时对必要的数理统计的基础知识有重点地作了回顾。第二章介绍了确定先验分布的若干可供选择的方法。第三章介绍了几类常见统计模型参数的后验分布的主要结果和计算方法。第四章和第五章分别介绍了“贝叶斯统计推断”和“贝叶斯统计决策”的内容。第六章介绍了贝叶斯统计计算的若干方法,包括蒙特卡洛方法和马尔可夫链蒙特卡洛(MCMC)方法以及相关统计软件的简介。本书的每一章附右大量的例题和习题,书末附有常用的几个表格和部分习题解答供读者查用。  大约可在54学时内讲授本书的第1章至第六章的主要内容,教师可根据学时需要选讲本书第1章至第六章的部分内容。书中标“*”号的章节可略去不讲,留给读者作为阅读材料。第六章例题中的R代码和部分例题的数据文件等可从作者个人主页下载。  作者在编写本书的过程中参考了J.O.Berger教授的《统计决策论及贝叶斯分析》和茆诗松教授编写的《贝叶斯统计》等书中的一些内容,以及《贝叶斯分析》一书中由张伟平博士编写的有关贝叶斯统计计算的一些内容。在此表示衷心感谢。  本书编写准备过程中,中国科学技术大学统计与金融系的几个研究生帮助完成了本书部分中文的录入和排版,作者对他们的辛勤工作表示真诚的感谢。高等教育出版社为本书的出版给予了大力支持。在此一并致谢。

C++类禁止copy构造函数和copy assign操作符

C++类禁止copy构造函数和copy assign操作符 在C++类中,编译器可以暗自为class创建default构造函数、copy构造函数、copy assignment操作符,以及析构函数。注意,这些编译器产生出来的函数都是public的,为了阻止这些函数被创建出来,我们可以把它们声明为private,这样就阻止了编译器暗自创建其对应版本函数。 class Node { publi...

weixin_34232744的博客 319

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

wxWidgets第二课 DECLARE_NO_COPY_CLASS 禁止类的拷贝

说明 在defs.h文件中,对该宏进行了如下的定义 #define DECLARE_NO_COPY_CLASS(classname) \ wxDECLARE_NO_COPY_CLASS(classname); 而wxDECLARE_NO_COPY_CLASS的实际定义如下: #define wxDECLARE_NO_COPY_CLASS...

weixin_33836874的博客 162

TIPS:禁止向U盘写入文件 从U盘COPY 删除

allyesno:禁止u盘使用 不一定要拔usb线的 禁用U盘方法(转载) 方法一,BIOS设置法(快刀斩乱麻法) 进入BIOS设置,选择“Integrated Peripherals”选项,展开后将“USB 1.1 Controller”和“USB 2.0 Contr01ler”选项的属性设置为“Disableed”,即可禁用USB接口。最后别忘记给BIOS设置上一个密码,这样他人就无法通过

FreeXploiT 8196

DOS的copy命令小问题,符转载COPY命令的详细使用说明

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33819479的博客 962

优快云如何转载他人文章

利用Markdown可以解析html的特点,我们可以很方便的转载他人的文章。

龙云尧的博客 5586

禁止复制网页内容

做个笔记 // 禁用右键菜单、复制、选择 $(document).bind("contextmenu copy selectstart", function() { return false; }); // 禁用Ctrl+C和Ctrl+V(所有浏览器均支持) $(document).keydown(function(e) { if(e.ctrlKey &am...

weixin_30548917的博客 114

SAP COPY CLIENT

1 TCode:SALE 2 TCode:SCC4 3 输入新CLIENT编号, 4 新CLIENT,默认用户名、密码为SAP*/PASS。 在这个地方有可...

cuanbozhou4360的博客 449

两个有用的宏:“禁止类成员复制”以及“禁止隐式构造”

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34024034的博客 167
上一篇: 关于js和div的简单应用
下一篇: Spring2.0用注解实现事务管理(本文网上转载)
AndroidAfterJava
博客等级 码龄16年 22粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值