当前位置: 首页 > news >正文

ASP网络安全讲述

一 前言
  Microsoft Active Server Pages(ASP)是服务器端脚本编写环境,使用它可以创建和运行动态、交互的 Web 服务器应用程序。使用 ASP 可以组合 HTML 页 、脚本命令和 ActiveX 组件以创建交互的 Web 页和基于 Web 的功能强大的应用程序。
现在很多网站特别是电子商务方面的网站,在前台上大都用ASP来实现。以至于现在ASP在网站应用上很普遍。
ASP是开发网站应用的快速工具,但是有些网站管理员只看到ASP的快速开发能力,却忽视了ASP安全问题。ASP从一开始就一直受到众多漏洞,后门的困扰,包括%81的噩梦,密码验证问题,IIS漏洞等等都一直使ASP网站开发人员心惊胆跳。
本文试图从开放了ASP服务的操作系统漏洞和ASP程序本身漏洞,阐述ASP安全问题,并给出解决方法或者建议。
二 关键字
  ASP,网络安全,IIS,SSL,加密。
三 ASP工作机理
  Active Server Page技术为应用开发商提供了基于脚本的直观、快速、高效的应用开发手段,极大地提高了开发的效果。在讨论ASP的安全性问题之前,让我们来看看ASP是怎么工作的。ASP脚本是采用明文(plain text)方式来编写的。
  ASP脚本是一系列按特定语法(目前支持vbscript和jscript两种脚本语言)编写的,与标准HTML页面混合在一起的脚本所构成的文本格式的文件。当客户端的最终用户用WEB浏览器通过INTERNET来访问基于ASP脚本的应用时,WEB浏览器将向WEB服务器发出HTTP请求。WEB服务器分析、判断出该请求是ASP脚本的应用后,自动通过ISAPI接口调用ASP脚本的解释运行引擎(ASP.DLL)。ASP.DLL将从文件系统或内部缓冲区获取指定的ASP脚本文件,接着就进行语法分析并解释执行。最终的处理结果将形成HTML格式的内容,通过WEB服务器"原路"返回给WEB浏览器,由WEB浏览器在客户端形成最终的结果呈现。这样就完成了一次完整的ASP脚本调用。若干个有机的ASP脚本调用就组成了一个完整的ASP脚本应用。
  让我们来看看运行ASP所需的环境:
Microsoft Internet Information Server 3.0/4.0/5.0 on NT Server
Microsoft Internet Information Server 3.0/4.0/5.0 on Win2000
Microsoft Personal Web Server on Windows 95/98
  WINDOWS NT Option Pack所带的Microsoft IIS提供了强大的功能,但是IIS在网络安全方面却是比较危险的。因为很少有人会用Windows 95/98当服务器,因此本文我更多的从NT中的IIS安全问题来探讨。
四 微软自称的ASP的安全优点
  虽然我们本文的重点是探讨ASP漏洞和后门,但是有必要谈谈ASP在网络安全方面的"优点",之所以加个"",是因为有时这些微软宣称的"优点"恰恰是其安全隐犯。
  微软称ASP在网络安全方面一大优点就是用户不能看到ASP的源程序,从ASP的原理上看,ASP在服务端执行并解释成标准的HTML语句,再传送给客户端浏览器。"屏蔽"源程序能很好的维护ASP开发人员的版权,试想你辛辛苦苦做了一个很优秀的程序,给人任意COPY,你会怎么想?而且黑客还能分析你的ASP程序,挑出漏洞。更重要的是有些ASP开发者喜欢把密码,有特权的用户名和路径直接写在程序中,这样别人通过猜密码,猜路径,很容易找到攻击系统的"入口"。但是目前已经发现了很多能查看ASP源程序的漏洞,后面我们还要讨论。
  IIS支持虚拟目录,通过在"服务器属性"对话框中的"目录"标签可以管理虚拟目录。建立虚拟目录对于管理WEB站点具有非常重要的意义。虚拟目录隐藏了有关站点目录结构的重要信息。因为在浏览器中,客户通过选择"查看源代码",很容易就能获取页面的文件路径信息,如果在WEB页中使用物理路径,将暴露有关站点目录的重要信息,这容易导致系统受到攻击。其次,只要两台机器具有相同的虚拟目录,你就可以在不对页面代码做任何改动的情况下,将WEB页面从一台机器上移到另一台机器。还有就是,当你将WEB页面放置于虚拟目录下后,你可以对目录设置不同的属性,如:Read、Excute、Script。读访问表示将目录内容从IIS传递到浏览器。而执行访问则可以使在该目录内执行可执行的文件。当你需要使用ASP时,就必须将你存放.asp文件的目录设置为"Excute(执行)"。建议大家在设置WEB站点时,将HTML文件同ASP文件分开放置在不同的目录下,然后将HTML子目录设置为"读",将ASP子目录设置为"执行",这不仅方便了对WEB的管理,而且最重要的提高了ASP程序的安全性,防止了程序内容被客户所访问。
五 ASP漏洞分析和解决方法
 有人说一台不和外面联系的电脑是最安全的电脑,一个关闭所有端口,不提供任何服务的电脑也是最安全的。黑客经常利用我们所开放的端口实施攻击,这些攻击最常见的是DDOS(拒绝服务攻击).下面我会列出ASP的二十几个漏洞,每个漏洞都会有漏洞描述和解决方法。
1 在ASP程序后加个特殊符号,能看到ASP源程序
  受影响的版本:
  win95+pws
  IIS3.0
  98+pws4 不存在这个漏洞。
  IIS4.0以上的版本也不存在这个漏洞。
  问题描述:
  这些特殊符号包括小数点,%81, ::$DATA。比如:
http://someurl/somepage.asp.
http:// someurl/somepage.asp%81
http:// someurl/somepage.asp::$DATA
http:// someurl/somepage.asp %2e
http:// someurl/somepage %2e%41sp
http:// someurl/somepage%2e%asp
http:// someurl/somepage.asp %2e
http://someurl/msadc/samples/selector/showcode.asp?source=/msadc/samples/../../../../../../boot.ini (可以看到boot.ini的文件内容)
  那么在安装有IIS3.0和win95+PWS的浏览中就很容易看到somepage.asp的源程序。究竟是什么原因造成了这种可怕的漏洞呢?究其根源其实是 Windows NT 特有的文件系统在做怪。有一点常识的人都知道在 NT 提供了一种完全不同于 FAT 的文件系统:NTFS,这种被称之为新技术文件系统的技术使得 NT 具有了较高的安全机制,但也正是因为它而产生了不少令人头痛的隐患。大家可能不知道, NTFS 支持包含在一个文件中 的多数据流,而这个包含了所有内容的主数据流被称之为"DATA",因此使得在浏览器 里直接访问 NTFS 系统的这个特性而轻易的捕获在文件中的脚本程序成为了可能。然而 直接导致 ::$DATA 的原因是由于 IIS 在解析文件名的时候出了问题,它没有很好地规范文件名。
  解决方法和建议:
  如果是Winodws NT用户,安装IIS4.0或者IIS5.0,Windows2000不存在这个问题。如果是win95用户,安装WIN98和PWS4.0。
2 ACCESS mdb 数据库有可能被下载的漏洞
  问题描述:
  在用ACCESS做后台数据库时,如果有人通过各种方法知道或者猜到了服务器的ACCESS数据库的路径和数据库名称,那么他能够下载这个ACCESS数据库文件,这是非常危险的。比如:如果你的ACCESS数据库book.mdb放在虚拟目录下的database目录下,那么有人在浏览器中打入:
http:// someurl/database/book.mdb
  如果你的book.mdb数据库没有事先加密的话,那book.mdb中所有重要的数据都掌握在别人的手中。
  解决方法:
  (1) 为你的数据库文件名称起个复杂的非常规的名字,并把他放在几目
录下。所谓"非常规",打个比方:比如有个数据库要保存的是有关书籍的信息,可不要把他起个"book.mdb"的名字,起个怪怪的名称,比如d34ksfslf.mdb,再把他放在如./kdslf/i44/studi/ 的几层目录下,这样黑客要想通过猜的方式得到你的ACCESS数据库文件就难上加难了
  (2)不要把数据库名写在程序中。有些人喜欢把DSN写在程序中,比如:
DBPath = Server.MapPath("cmddb.mdb")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
  假如万一给人拿到了源程序,你的ACCESS数据库的名字就一览无余。因此建议你在ODBC里设置数据源,再在程序中这样写:
conn.open "shujiyuan"
  (3)使用ACCESS来为数据库文件编码及加密。首先在选取"工具->安
全->加密/解密数据库,选取数据库(如:employer.mdb),然后接确定,接着会出现"数据库加密后另存为"的窗口,存为:employer1.mdb。接着employer.mdb就会被编码,然后存为employer1.mdb..
  要注意的是,以上的动作并不是对数据库设置密码,而只是对数据库文件加以编码,目的是为了防止他人使用别的工具来查看数据库文件的内容。
  接下来我们为数据库加密,首先以打开经过编码了的employer1.mdb,在打开时,选择"独占"方式。然后选取功能表的"工具->安全->设置数据库密码",接着输入密码即可。
  为employer1.mdb设置密码之后,接下来如果再使用ACCEES数据库文件时,则ACCESS会先要求输入密码,验证正确后才能够启动数据库。
  不过要在ASP程序中的connection对象的open方法中增加PWD的参数即可,例如:
param="driver={Microsoft Access Driver (*.mdb)};Pwd=yfdsfs"
param=param&";dbq="&server.mappath("employer1.mdb")
conn.open param
  这样即使他人得到了employer1.mdb文件,没有密码他是无法看到employer1.mdb的。
五 ASP漏洞分析和解决方法
3 code.asp文件会泄漏ASP代码
  问题描述:
  举个很简单的例子,在微软提供的 ASP1.0 的例程里有一个 .asp 文件,专门用来查看其它 .asp 文件的源代码,该文件为 ASPSamp/Samples/code.asp。如果有人把这个程序上传到服务器,而服务器端没有任何防范措施的话,他就可以很容易地查看他人的程序。例如 :
  code.asp?source=/directory/file.asp
  不过这是个比较旧的漏洞了,相信现在很少会出现这种漏洞。
  下面这命令是比较新的:
http://someurl/iissamples/exair/howitworks/code.asp?/lunwen/soushuo.asp=xxx.asp
  最大的危害莫过于asa文件可以被上述方式读出;数据库密码以明文形式暴露在黑客眼前;
  问题解决或建议:
  对于IIS自带的show asp code的asp程序文件,删除该文件或者禁止访问该目录即可
4、filesystemobject 组件篡改下载 fat 分区上的任何文件的漏洞
  问题描述:
  IIS3、 IIS4 的 ASP 的文件操作都可以通过 filesystemobject 实现,包括文本文件的读写目录操作、文件的拷贝改名删除等,但是这个强大的功能也留下了非常危险的 "后门"。利用 filesystemobjet 可以篡改下载 fat 分区上的任何文件。即使是 ntfs 分区,如果权限没有设定好的话,同样也能破坏,一不小心你就可能遭受"灭顶之灾 "。遗憾的是很多 webmaster 只知道让 web 服务器运行起来,很少对 ntfs 进行权限 设置,而 NT 目录权限的默认设置偏偏安全性又低得可怕。因此,如果你是 Webmaster,建议你密切关注服务器的设置,尽量将 web 目录建在 ntfs 分区上,目录不要设定 everyone full control,即使是是管理员组的成员一般也没什么必要 full control,只要有读取、更改权限就足够了。 也可以把filesystemobject的组件删除或者改名。
5、输入标准的HTML语句或者javascript语句会改变输出结果
  问题描述:
  在输入框中打入标准的HTML语句会得到什么相的结果呢?
  比如一个留言本,我们留言内容中打入:
你好!
  如果你的ASP程序中没有屏蔽html语句,那么就会改变"你好"字体的大小。在留言本中改变字体大小和贴图有时并不是什么坏事,反而可以使留言本生动。但是如果在输入框中写个 javascript 的死循环,比如:特大新闻
  那么其他查看该留言的客人只要移动鼠标到"特大新闻",上就会使用户的浏览器因死循环而死掉。
  解决方法和建议:
  编写类似程序时应该做好对此类操作的防范,譬如可以写一段程序判断客户端的输入,并屏蔽掉所有的 HTML、 Javascript 语句。
五 ASP漏洞分析和解决方法
6、ASP程序密码验证漏洞
  漏洞描述:
  很多网站把密码放到数据库中,在登陆验证中用以下sql,(以asp为例)
sql="select * from user where username='"&username&"'and pass='"& pass &'"
  此时,您只要根据sql构造一个特殊的用户名和密码,如:ben' or '1'='1
就可以进入本来你没有特权的页面。再来看看上面那个语句吧:
sql="select * from user where username='"&username&"'and pass='"& pass&'"
  此时,您只要根据sql构造一个特殊的用户名和密码,如:ben' or '1'='1
这样,程序将会变成这样: sql="select*from username where username="&ben'or'1'=1&"and pass="&pass&"
or 是一个逻辑运算符,作用是在判断两个条件的时候,只要其中一个条件成立,那么等式将会成立.而在语言中,是以1来代表真的(成立).那么在这行语句中,原语句的"and"验证将不再继续,而因为"1=1"和"or"令语句返回为真值.。
  另外我们也可以构造以下的用户名:
username='aa' or username<>'aa'
pass='aa' or pass<>'aa'
  相应的在浏览器端的用户名框内写入:aa' or username<>'aa 口令框内写入:aa' or pass<>'aa,注意这两个字符串两头是没有'的。这样就可以成功的骗过系统而进入。
  后一种方法理论虽然如此,但要实践是非常困难的,下面两个条件都必须具备。
  1. 你首先要能够准确的知道系统在表中是用哪两个字段存储用户名和口令的,只有这样你才能准确的构造出这个进攻性的字符串。实际上这是很难猜中的。
  2.系统对你输入的字符串不进行有效性检查。
  问题解决和建议:
  对输入的内容验证和"'"号的处理。
7、IIS4或者IIS5中安装有INDEX SERVER服务会漏洞ASP源程序
  问题描述:
  在运行IIS4或者IIS5的Index Server,输入特殊的字符格式可以看到ASP源程序或者其它页面的程序。甚至以及添打了最近关于参看源代码的补丁程序的系统,或者没有.htw文件的系统,一样存在该问题。获得asp程序,甚至global.asa文件的源代码,无疑对系统是一个非常重大的安全隐患。往往这些代码中包含了用户密码和ID,以及数据库的源路径和名称等等。这对于攻击者收集系统信息,进行下一步的入侵都是非常重要的。
通过构建下面的特殊程序可以参看该程序源代码:
http://202.116.26.38/null.htw?CiWebHitsFile=/default.asp&CiRestriction=none&CiHiliteType=Full
  这样只是返回一些html格式的文件代码,但是当你添加%20到CiWebHitsFile的参数后面,如下:
http://someurl/null.htw?CiWebHitsFile=/default.asp%20&CiRestriction=none&CiHiliteType=Full
  这将获得该程序的源代码。
  (注意:/default.asp是以web的根开始计算。如某站点的http:///welcome/welcome.asp
那么对应就是:
http://someurl/null.htw?CiWebHitsFile=/welcome/welcome.asp%20&CiRestriction=none&CiHiliteType=Full
)
  由于'null.htw'文件并非真正的系统映射文件,所以只是一个储存在系统内存中的虚拟文件。哪怕你已经从你的系统中删除了所有的真实的.htw文件,但是由于对null.htw文件的请求默认是由webhits.dll来处理。所以,IIS仍然收到该漏洞的威胁。
  问题解决或者建议:
  如果该webhits提供的功能是系统必须的,请下载相应的补丁程序。如果没必要,请用IIS的MMC管理工具简单移除.htw的映象文件。
补丁程序如下:
Index Server 2.0:
Intel:
http://www.microsoft.com/downloads/release.asp?ReleaseID=17727
Alpha:
http://www.microsoft.com/downloads/release.asp?ReleaseID=17728
Indexing Services for Windows 2000:
Intel:
http://www.microsoft.com/downloads/release.asp?ReleaseID=17726
8、ASP聊天室程序的漏洞
  问题描述:
  如果聊天室ASP程序设计不当,很容易会给他人利用来做坏事:可以踢人,穿墙,捣乱.
首先,我们看看聊天室里有什么漏洞,大家看看下面这段代码:



…………………………
………………
………

OnSubmit="return chksend();">
******
********

发言: 

悄悄:
对象:
表情:
!!!!!!
!!!!
 以上这段代码是我在某个聊天室用"测试者"作代号登陆后在发言帧当下来的, 这只是一小部份,但在这一小部份代码里面就有两个漏洞。
  第一个漏洞
  大家看看上面的代码加上"*"号的那两句,其中第一句中的"测试者"就是我登陆的名字,还有,第二句中的"boy"是登陆时的性别,还有再看看下面我加上"!" 号的两句,第一句里还是有我登陆时的名字,这几句都是我现在想说的两个漏洞所在点。如果想在这个聊天室里穿墙的话,只要把发言帧的代码当下来另存,把"form"的"action"改成聊天室的地址,然后把再"*"号的第一句的"测试者"两字改成想要的名字就可以了。也可以变换性别,只要把第二句的 "boy"改成"girl"。这就是所谓的穿墙术了。你甚至可以把它改成在线人的名字,然后发言,这样就冒充别人的姓名谈话。
  第二个漏洞
  踢人的漏洞就是这个了,我们看一下带"!"号的第一句,上面有是合法用户登陆的名字,再看第二句,他有"getout",再加上上面还有一段"form"标签,这段就是我们退出聊天室时的代码,这个有什么用呢?我们先试试看,首先还是把"form"标签的"action"改成 聊天室的地址,不然就不知道提交给哪个家伙了。然后把"风风"改成你想踢下去的人的名字然后单击"退出",那就把那个人踢出聊天室了。这个就是聊天室踢人的漏洞。
  这两个漏洞主要的原因是这两个漏洞使服务程序不识别客户发出的指令是不是合法用户。 以上两漏骗服务程序来更名发出发言,或更名退出,使得真正的使用者受害。
  当然上面的程序中还有一个漏洞,输入框没有对HTML语句和JAVASCRIPT语句做过滤。这个问题我们在漏洞5中已有详细分析,这里就不谈了。
  问题解决或者建议:
  在程序设计中让服务程序能识别到底是哪个家伙发出的指令就可以了,具体做法可以为每个聊天者发一个识别码,象五笔字一样,也可以用每个聊天者的密码识别,也可以把聊天者的密码随机加密后用作识别等等 ,反正能使你的服务程序识别到底是谁发出的指令就可以了。
 

相关文章:

ASP网络安全讲述

一 前言   Microsoft Active Server Pages&#xff08;ASP&#xff09;是服务器端脚本编写环境&#xff0c;使用它可以创建和运行动态、交互的 Web 服务器应用程序。使用 ASP 可以组合 HTML 页 、脚本命令和 ActiveX 组件以创建交互的 Web 页和基于 Web 的功能强大的应用程序…...

DFS 创建分级菜单

菜单级别不确定&#xff0c;想要自适应&#xff0c;且可以折叠的菜单。 数据是一个数组。 <template><div class"Level" ref"Level"></div> </template>import {ref} from vue export default{data(){Level:ref(null),menuData…...

HDU Go Running(最小点覆盖 + 网络流优化)

题目大意&#xff1a;有一条无限长跑道&#xff0c;每个人可以规定自己跑步的方向&#xff0c;起点&#xff0c;跑步起止时间。每个人跑步的速度都是1m/s。最后从监控人员哪里得到了n个报告&#xff0c;每个报告给出了某人在某一时候所在的位置&#xff0c;问跑步的最少可能人数…...

C++设计模式-中介者模式

动机(Motivation) 多个对象相互关联的情况&#xff0c;对象之间常常会维持一种复杂的引用关系&#xff0c;如果遇到一些需求的更改&#xff0c;这种直接的引用关系将面临不断的变化。在这种情况下&#xff0c;可以使用一种”中介对象“来管理对象间的关联关系&#xff0c;避免…...

文件上传与下载服务 | Flask 实战

之前介绍了 droppy 文件共享服务的搭建。但在一些场景中&#xff0c;我们需要在命令行或在 Python 代码中&#xff0c;临时上传和下载文件。这时可以用一个更简单的策略&#xff1a;使用 flask 编写一个临时的 API。 服务端配置 以下是一个简单的 Flask 应用程序代码示例&…...

MySQL 中的排序:索引排序与文件排序

文章目录 MySQL 中的排序&#xff1a;索引排序与文件排序全解析一、引言二、索引排序&#xff08;一&#xff09;原理&#xff08;二&#xff09;示例 三、文件排序&#xff08;一&#xff09;单路排序&#xff08;二&#xff09;双路排序&#xff08;三&#xff09;归并排序 四…...

深入理解React Hooks:使用useState和useEffect

引言 React Hooks是React 16.8引入的一项强大功能&#xff0c;它使函数组件能够使用状态和其他React特性。本文将深入探讨两个最常用的Hooks&#xff1a;useState和useEffect&#xff0c;并通过实际代码示例展示它们的使用方法。 1. 什么是React Hooks&#xff1f; React Ho…...

AWS codebuild + jenkins + github 实践CI/CD

前文 本文使用 Jenkins 结合 CodeBuild, CodeDeploy 实现 Serverless 的 CI/CD 工作流&#xff0c;用于自动化发布已经部署 lambda 函数。 在 AWS 海外区&#xff0c;CI/CD 工作流可以用 codepipeline 这项产品来方便的实现&#xff0c; CICD 基本概念 持续集成( Continuous…...

Android PMS(Package Manager Service)源码介绍

文章目录 前言一、PMS 启动流程二、APK 安装流程三、APK 卸载流程四、权限管理静态权限动态权限 五、 数据存储与一致性六、 PMS 的安全性策略1、权限检查2、签名认证3、动态权限管理4、应用安装验证5、保护系统目录 七、PMS 调试方法总结 前言 PackageManagerService&#xf…...

运维面试整理总结

面试题可以参考:面试题总结 查看系统相关信息 查看系统登陆成功与失败记录 成功&#xff1a;last失败&#xff1a;lastb 查看二进制文件 hexdump查看进程端口或连接 netstat -nltp ss -nltp补充&#xff1a;pidof与lsof命令 pidof [进程名] #根据 进程名 查询进程id ls…...

图数据库 Cypher语言

图数据库 属性图 属性图&#xff08;Property Graph&#xff09;概述 属性图是一种广泛用于建模关系数据的图数据结构&#xff0c;它将**顶点&#xff08;节点&#xff09;和边&#xff08;关系&#xff09;**进行结构化存储&#xff0c;并为它们附加属性以提供丰富的语义信…...

阿里云oss转发上线-实现不出网钓鱼

本地实现阿里云oss转发上线&#xff0c;全部代码在文末&#xff0c;代码存在冗余 实战环境 被钓鱼机器不出网只可访问内部网络包含集团oss 实战思路 若将我们的shellcode文件上传到集团oss上仍无法上线&#xff0c;那么就利用oss做中转使用本地转发进行上线&#xff0c;先发送…...

Spring Boot 3.4.0 发行:革新与突破的里程碑

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/literature?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;…...

【网络安全】

黑客入侵 什么是黑客入侵&#xff1f; “黑客”是一个外来词&#xff0c;是英语单词hacker的中文音译。最初&#xff0c;“黑客”只是一个褒义词&#xff0c;指的是那些尽力挖掘计算机程序最大潜力的点脑精英&#xff0c;他们讨论软件黑客的技巧和态度&#xff0c;以及共享文化…...

在SQLyog中导入和导出数据库

导入 假如我要导入一个xxx.sql&#xff0c;我就先创建一个叫做xxx的数据库。 然后右键点击导入、执行SQL脚本 选择要导入的数据库文件的位置&#xff0c;点击执行即可 注意&#xff1a; 导入之后记得刷新一下导出 选择你要导出的数据库 右键选择&#xff1a;备份/导出、…...

RabbitMQ简单应用

概念 RabbitMQ 是一种流行的开源消息代理&#xff08;Message Broker&#xff09;软件&#xff0c;它实现了高级消息队列协议&#xff08;AMQP - Advanced Message Queuing Protocol&#xff09;。RabbitMQ 通过高效的消息传递机制&#xff0c;主要应用于分布式系统中解耦应用…...

使用LUKS对Linux磁盘进行加密

前言 本实验用于日常学习用&#xff0c;如需对存有重要数据的磁盘进行操作&#xff0c;请做好数据备份工作。 此实验只是使用LUKS工具的冰山一角&#xff0c;后续还会有更多功能等待探索。 LUKS&#xff08;Linux Unified Key Setup&#xff09;是Linux系统中用于磁盘加密的一…...

戴尔电脑安装centos7系统遇到的问题

1&#xff0c;找不到启动盘&#xff08;Operation System Loader signature found in SecureBoot exclusion database(‘dbx’).All bootable devices failed secure Boot Verification&#xff09; 关闭 Secure Boot&#xff08;推荐&#xff09;&#xff1a; 进入 BIOS/UEFI…...

3.4.SynchronousMethodHandler组件之ResponseHandler

前言 feign发送完请求后, 拿到返回结果, 那么这个返回结果肯定是需要经过框架进一步处理然后再返回到调用者的, 其中ResponseHandler就是用来处理这个返回结果的, 这也是符合正常思维的处理方式, 例如springmvc部分在调用在controller端点前后都会增加扩展点。 从图中可以看得…...

Linux 下进程的状态

操作系统中常见进程状态 在操作系统中有六种常见进程状态: 新建状态: 进程正在被创建. 此时操作系统会为进程分配资源, 如: 内存空间等, 进行初始化就绪状态: 进程已经准备好运行了, 只需要等待被调度, 获取 CPU 资源就可以执行了, 操作系统中可能同时存在多个进程处于就绪状…...

【计算机网络】核心部分复习

目录 交换机 v.s. 路由器OSI七层更实用的TCP/IP四层TCPUDP 交换机 v.s. 路由器 交换机-MAC地址 链接设备和设备 路由器- IP地址 链接局域网和局域网 OSI七层 物理层&#xff1a;传输设备。原始电信号比特流。数据链路层&#xff1a;代表是交换机。物理地址寻址&#xff0c;交…...

Spring Boot开发实战:从入门到构建高效应用

Spring Boot 是 Java 开发者构建微服务、Web 应用和后端服务的首选框架之一。其凭借开箱即用的特性、大量的自动化配置和灵活的扩展性&#xff0c;极大简化了开发流程。本文将以实战为核心&#xff0c;从基础到高级&#xff0c;全面探讨 Spring Boot 的应用开发。 一、Spring B…...

pyshark安装使用,ubuntu:20.04

1.容器创建 命令 docker run -d --name pyshark -v D:\src:/root/share ubuntu:2004 /bin/bash -c "while true;do sleep 1000;done" 用于创建并启动一个新的 Docker 容器。 docker run -d --name pyshark -v D:\src:/root/share ubuntu:2004 /bin/bash -c "w…...

基本功能实现

目录 1、环境搭建 2、按键控制灯&电机 LED 电机 垂直按键(机械按键) 3、串口调试功能 4、定时器延时和定时器中断 5、振动强弱调节 6、万年历 7、五方向按键 1、原理及分析 2、程序设计 1、环境搭建 需求: 搭建一个STM32F411CEU6工程 分析: C / C 宏定义栏…...

《那个让服务器“跳舞”的bug》

在程序的世界里&#xff0c;bug 就像隐藏在暗处的小怪兽&#xff0c;时不时跳出来捣乱。而在我的职业生涯中&#xff0c;有一个bug让我至今难忘&#xff0c;它不仅让项目差点夭折&#xff0c;还让我熬了无数个通宵。这个故事发生在一个风和日丽的下午&#xff0c;我们正在开发一…...

Python 网络爬虫进阶:动态网页爬取与反爬机制应对

在上一篇文章中&#xff0c;我们学习了如何使用 Python 构建一个基本的网络爬虫。然而&#xff0c;在实际应用中&#xff0c;许多网站使用动态内容加载或实现反爬机制来阻止未经授权的抓取。因此&#xff0c;本篇文章将深入探讨以下进阶主题&#xff1a; 如何处理动态加载的网…...

创建可直接用 root 用户 ssh 登陆的 Docker 镜像

有时候我们在 Mac OS X 或 Windows 平台下需要开发以 Linux 为运行时的应用&#xff0c;IDE 或可直接使用 Docker 容器&#xff0c;或 SSH 远程连接。本地命令行下操作虽然可以用 docker exec 连接正在运行的容器&#xff0c;但 IDE 远程连接的话 SSH 总是一种较为通用的连接方…...

wordpress 中添加图片放大功能

功能描述 使用 Fancybox 实现图片放大和灯箱效果。自动为文章内容中的图片添加链接&#xff0c;使其支持 Fancybox。修改了 header.php 和 footer.php 以引入必要的 CSS 和 JS 文件。在 functions.php 中通过过滤器自动为图片添加 data-fancybox 属性。 最终代码 1. 修改 hea…...

数据结构 (7)线性表的链式存储

前言 线性表是一种基本的数据结构&#xff0c;用于存储线性序列的元素。线性表的存储方式主要有两种&#xff1a;顺序存储和链式存储。链式存储&#xff0c;即链表&#xff0c;是一种非常灵活和高效的存储方式&#xff0c;特别适用于需要频繁插入和删除操作的场景。 链表的基本…...

库的操作.

创建、删除数据库 创建语法&#xff1a; CREATE DATABASE [IF NOT EXISTS] db_name[ ]是可选项&#xff0c;IF NOT EXISTS 是表明如果不存在才能创建数据库 //查看数据库&#xff0c;假设7行 show databases; //创建数据库 --- 本质在Linux创建一个目录 create database databa…...

郎溪网站建设/人民网疫情最新消息

今天​在安装zblog的时候出现了提示“release.xml不存在!”导致无法正常安装的问题&#xff1a;​ 解决后发篇文章分享下&#xff0c;如果遇到同样问题可以尝试按照本文操作下。 先说解决办法&#xff1a; 重新去zblog官方下载最新版的安装程序重新上传安装即可解决。 问题原因…...

福州执业建设中心网站/电子商务网站推广

不添加不需要的上下文如果你的类名或对象名称有具体的含义&#xff0c;请不要重复该变量的名称。差&#xff1a;<?php class Car{public $carMake;public $carModel;public $carColor;//...}好&#xff1a;<?php class Car{public $make;public $model;public $color;/…...

柳州住房和城乡建设厅网站/seo平台有哪些

这篇文章我想写给做IDC的朋友以及购买空间的朋友看的&#xff0c;因为关于这个问题一直以来就有很多含糊与误会的地方。我要提出的观点是&#xff0c;网站空间参数配置里写的IIS连接数并不等同于支持的并发在线人数。 相信做过IDC的朋友都碰见过这样的事情&#xff0c;经常有…...

建立网站准备工作/郑州手机网站建设

看到个好文章&#xff0c;翻译一遍分享一下。 此为https://go101.org/article/channel-closing.html的翻译&#xff0c;侵删。 文章目录怎么优雅地关闭通道通道的关闭原则简单粗暴的方案礼貌的方案优雅的方案更多场景&#xff1f;结论怎么优雅地关闭通道 许多天前&#xff0c;…...

怎么创建官网主页/安康地seo

1.问题 spring cloud seluth 完成日志追踪的能力&#xff0c;但是seluth不支持线程之间的传递。 PostMapping("/test/test")public void test() {log.info("日志追踪测试-主线程打印");ThreadPoolUtil.mmsExecutor(()->{log.info("子线程打印&qu…...

安徽华强建设集团网站/百度网页链接

本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍, 至于排名完全是根据GitHub搜索Java语言选择「Best Match」得到的结果&#xff0c;然后过滤了跟Android不相关的项目&#xff0c;所以排名并不具备任何官方效力&#xff0c;仅供参考学习&#xff0c;方便…...