Web安全总结

2023-10-28

本篇为课程总结,内容来自互联网和课程PPT

网站架构

一般web服务器结构

首先来看一个web服务器背后的网络结构

图中的IDS是用来检测办公网络的,也可以用来保护web服务器,放在防火墙之后镜像流量就可以

FIREWALL为网络防火墙,工作在传输层,检测数据报文的头部字段,匹配ip和端口是否合法。通过过滤网络流量来保护网络免受未经授权的访问、攻击和恶意软件等威胁。

WAF为web应用防火墙,工作在应用层,只属于web应用的防火墙,检测数据报文的载荷是否为攻击行为。WAF 能够监控 Web 应用程序的流量,分析 Web 应用程序的请求和响应,对恶意流量进行检测和拦截,从而保护 Web 应用程序的安全。

IDS为入侵检测系统,只需要对流量进行审计即可,并不会做出拦截或者放行等行为,所以只需要将流量镜像进行分析即可,不用接触真实传输中的流量。IDS只需实现检测功能,不负责防御,所以往往与流量传输并联,或是部署在旁路上,只负责检测恶意流量和已经配置好的攻击模式,然后对管理员示警,不做具体响应。

IPS是入侵防御系统,相比IDS来说,有了拦截的能力,需要有拦截数据包的能力。IPS为了实现防御功能,所以往往与流量传输以串联形式配置,关键网络的入口出口处都需要设置。

IPS和IDS都被部署在防火墙之后的流量传输链路上。

相比于传统的网络攻击,基于web的攻击有什么不同?

传统的网络攻击,相当于主动攻击,要求攻击者必须去主动发起扫描,并且主动利用漏洞进行攻击。

基于Web的攻击,可以利用xss、csrf等攻击方式,实现受害者主动下载恶意代码或者访问恶意网站,并不会直接与受害者连接。

传统的网络攻击可以看作为推(Push-based)的模式,即攻击者主动发起扫描,寻找具有可以利用的安全漏洞的主机,一旦发现目标,则实施漏洞利用,完成基本攻击过程。

基于Web访问的网络攻击,可以看作为拉(Pull-based)的模式,即受害者访问内含恶意代码的站点,恶意代码被下载至受害者的主机并运行,从而完成基本攻击过程。

HTTP协议

HTTP协议主要依靠,客户端发送请求给服务器,服务器收到请求后返回响应给客户端的请求-响应基本模型

对于HTTP的基本认证,只采用了base64编码来传输用户名和口令。

对于HTTP的摘要认证,采用了消息摘要技术。消息摘要是一种哈希函数(Hash Function),它将任意长度的消息映射为一个固定长度的摘要(Digest)。在摘要认证中,服务器首先向客户端发送一个随机数(称为nonce),客户端使用该随机数和用户密码生成一个消息摘要并发送给服务器。服务器使用相同的算法生成一个摘要,然后比较两个摘要是否相同。

HTTP响应状态码:

 1xx(临时响应)
表示临时响应并需要请求者继续执行操作的状态代码

 2xx (成功)
表示成功处理了请求的状态代码

3xx (重定向)
表示要完成请求,需要进一步操作

4xx(请求错误)
表示请求可能出错,妨碍了服务器的处理

5xx(服务器错误)
表示服务器在尝试处理请求时发生内部错误。 这些错误可能是服务器本身的错误,而不是请求出错。

HTTP响应拆分攻击

HTTP响应拆分攻击是针对响应包,将响应包的头部字段,利用换行符(\r\n)或其他控制字符,使得响应被拆分成两个或多个响应。

使得浏览器或者代理服务器解析出攻击者构造的响应页面。实现此攻击需要在中间传输过程中拦截响应数据包。

CR(= %0a = \r),LF(= %0d = \n)

为什么会造成这种攻击?

首先是HTTP的输入过滤不严格,其次是HTTP协议采用明文传输数据。

为了保证通信过程中的完整性,提出了下面的HTTPS协议

HTTPS

HTTPS相比HTTP安全,是因为使用了TLS协议。

TLS协议是一种加密通信协议,用于保护HTTP通信的安全性。当客户端与服务器之间进行HTTPS通信时,TLS协议会在两端之间建立一条加密通道,确保数据传输的机密性、完整性和可信性。

为了使HTTPS协议正常运作,服务器必须拥有有效的PKI证书。

PKI证书是一种数字证书,用于证明服务器的身份和公钥,以便客户端可以验证服务器的合法性并建立安全通信。服务器可以从受信任的证书颁发机构(CA)处获得有效的PKI证书。

相比之下,客户端不一定需要拥有证书。在大多数情况下,客户端只需要验证服务器的证书,而不需要自己拥有证书。客户端可以使用内置的根证书颁发机构列表来验证服务器的证书,以确保建立安全通信。

TLS 1.2 工作过程:

针对HTTPS协议的攻击

由于HTTPS协议依靠证书认证服务器端,那么可以通过伪造证书来进行对https协议的攻击。

由于证书颁发机构不止一家,攻击者可以利用证书颁发机构给一个已经认证过的服务器再次颁发证书,那么攻击者就可以担任中间人,拦截并查看用户访问该服务器的数据报文。

那么如何保证证书的唯一性?

HTTP 公钥固定(已弃用)

HPKP:HTTP Public Key Pinning
提供了针对中间人攻击的强大防御,糅合了HTTPS、HSTS以及HSTS预加载技术
TOFU:   首次使用的信任 (Trust on First Use)

证书透明度(主流)

思路:     CA 公告其所签发的全部证书的日志
浏览器仅使用其发布在日志服务器上的证书
使用 Merkle 哈希树可有效实现
公司可以扫描日志以发现非法签发证书

HTTP会话

HTTP协议是无状态的,因此无法保持同一个用户的登录状态,因此诞生了Cookie和Session。

无状态协议:指协议对事务处理没有记忆能力

Cookie和Session的关系

Cookie是客户端浏览器存储的,是方便在后续的HTTP请求中将其发送至服务器端。

Session是在服务器端存储的,Web应用程序可以使用该Session ID来查找用户的Session数据,以便在多个页面之间共享状态信息、存储用户的登录状态等。

Cookie和Session通常一起使用,以实现Web应用程序中的用户身份验证和状态管理。当用户首次访问Web应用程序时,服务器会创建一个Session,并将该Session ID存储在一个Cookie中,以便在后续的HTTP请求中将其发送回服务器。Web应用程序可以使用该Session ID查找用户的Session数据,并在多个页面之间共享状态信息、存储用户的登录状态等

Cookie机制是在客户端保持状态的方案,可以存储用户端会话状态。
Session机制是在客户端与服务器之间保持状态的解决方案。 服务器端保持状态的方案在客户端也需要保存一个标识,Session机制可以借助Cookie机制来达到保存标识。
在这里插入图片描述

除了Cookie和Session还有其他存储会话的方式,例如,URL重写,表单隐藏字段。

HTTP会话攻击

目标是窃取会话ID,劫持HTTP会话。来达到已受害者的身份登录服务端。

攻击方法有以下几种:

  • 截获
  • 猜测
  • 暴力攻击
  • 固定 使用户使用给定的会话ID

会话固定攻击的场景:
在这里插入图片描述
说明:

(1)攻击者与Web服务器建立合法连接
(2)攻击者获得会话ID或创建指定的会话ID
(3)攻击者向受害者发送带该会话ID的链接,受害者点击该链接
(4)服务器发现该会话已建立,无需创建新会话
(5)受害者向服务器提供其登录信息
(6)由于已知会话ID,攻击者可以访问受害者的帐户

解决方案

  • Web应用程序可以实现有效的会话确知攻击防护,而Web服务器仅能确保会话标识不会受到暴力攻击或推测攻击
  • 严格会话管理策略,拒绝非服务器产生的会话标识
    Web应用程序应仅在用户成功认证之后再产生新的会话标识,
    一旦用户登录之后,重新生成会话标识。
  • 会话标识绑定到IP地址并不能解决所有问题
    对于重要应用,会话标识应该绑定到SSL客户端证书,超时或登出后,会话应该清除
  • 用户应该使用登出选项以清除当前和其他的会话
  • 采用绝对的会话超时策略

Web访问中的隐私问题

Cookies跟踪用户浏览网页行为

Cookies 可被用来:

  • 跟踪用户在给定网站的行为 (第一方 cookies)
  • 跟踪用户跨多个网站的行为 (第三方 cookies),但用户并没有选择访问跟踪者网站 (!)
  • 跟踪可能对用户不可见: 并非显示和激活 HTTP GET 到跟踪者网站, 可能是不可见的链接

Web应用程序攻击

下面依次介绍主要的Web安全攻击方法
在这里插入图片描述

XSS跨站脚本攻击

Web应用中的计算机安全漏洞,攻击者利用XSS漏洞旁路掉同源策略。
XSS攻击的危害包括

  • 盗取各类用户帐号
  • 读取、篡改、添加、删除敏感数据
  • 非法转账
  • 强制发送电子邮件
  • 网站挂马
  • 控制受害者机器向其它网站发起攻击

XSS 是利用用户对网站的信任展开攻击

XSS主要有以下三种场景:

反射性XSS
在这里插入图片描述
存储型XSS
在这里插入图片描述
DOM型XSS (数据为传递到服务端)
在这里插入图片描述
XSS防范方法

  • 内容安全策略 (CSP)
    CSP的主要目标是减少和报告XSS攻击.
  • 服务器端防范措施-“限制、拒绝、净化”
    输入验证: 对用户提交数据进行尽可能严格的验证与过滤
    输出净化: HTMLEncode()方法
    消除危险的输入点
  • 客户端防范措施
    提高浏览器访问非受信网站时的安全等级
    关闭Cookie功能,或设置Cookie只读(IE6 SP1 HTTPonly cookie)
    安全意识和浏览习惯

CSRF跨站请求伪造

CSRF攻击通过在授权用户访问的页面中包含链接或者脚本的方式工作

基本特性: 利用网站对用户的信任展开攻击

常见特性:

  • 依靠用户标识危害网站
  • 欺骗用户的浏览器发送HTTP请求给目标站点
  • 已经通过cookie认证的用户将在完全无知的情况下发送HTTP请求到那个信任他的- 站点,进而进行用户不愿做的行为。
  • 通常使用图片攻击。

攻击场景:
在这里插入图片描述
CSRF防范方法

  • 秘密校验令牌
  • Referer 验证
  • 自定义 HTTP头部
  • 同站(sameSite) cookie

SQL注入攻击

SQL注入攻击是指攻击者利用Web应用程序数据层存在的输入验证不完善型安全漏洞,通过向Web应用程序的输入字段中注入SQL语句,从而实现对数据库的非法操作或者获取敏感数据的一类攻击技术。

攻击场景:
在这里插入图片描述

SQL注入攻击对Web应用程序的威胁

SQL注入攻击对Web应用程序的威胁非常大,因为它可以绕过应用程序的身份验证、授权和访问控制等安全机制,直接对数据库进行操作,导致数据泄露、数据损坏、应用程序崩溃等严重后果。

相当大部分Web应用程序使用后台数据库,动态产生内容
SQL注入攻击: 利用Web应用程序数据层存在的输入验证不完善型安全漏洞实施的一类代码注入攻击技术。

SQL注入漏洞机制

用户输入没有被正确地过滤:转义字符(引号、反引号、双下划线、分号、百分号)
没有进行严格类型检查:未判断输入是否预定类型

SQL注入防范方法

  • 不要自己直接构造 SQL 命令 !
  • 使用:
    参数化 SQL
    对象关系映射器 (ORM,Object Relational Mapper)

Web浏览器安全

Chrome浏览器,2008年9月正式发布,采用了Webkit 的网页渲染引擎

Chrome 采用多进程的架构

将每个页面分离成单个的进程

多个程序同时执行而互不影响,当资源过高或崩溃时,不会因为一个停顿而整个程序当掉。

javascript. 采用V8

安全性措施

黑名单
定期更新网络钓鱼和恶意软件的黑名单,第一时间反馈给用户所要访问的网页的危险性。

沙盒(Sandboxing)
每一个标签页都是一个沙盒(sandbox),以防止“恶意软件破坏用户系统”或“利用分页影响其他分页”。

插件(Plugins)
插件通常并没有统一的标准,且无法像标签页般沙盒化。插件在不同的处理程序中被执行。

无痕浏览(Incognito)
保护用户浏览网页的隐私

更新(Update)
每五小时自动更新主程序,更新后会在下一次启动中使用。

渲染引擎 Rendering Engine

渲染引擎负责处理网页的内容、样式和布局,以及将它们显示在屏幕上。不同的渲染引擎可能对同一HTML文档的渲染效果有所不同。

负责取得网页的内容(HTML、XML、图像等等)、整理信息(例如加入CSS等),以及计算网页的显示方式,输出至显示器或打印机。

渲染引擎对于网页的语法解释有差别,因此对同一HTML文档的渲染效果也可能不相同。

主要的渲染引擎 
Trident: IE6/IE7/IE8
Gecko:  Firefox
Webkit: Safari/Chrome
Blink: Chrome

Web浏览的基本安全策略

同源策略(Same Origin Policy)是浏览器中的一项主要安全措施,用于限制来自不同源的脚本之间的交互。

在同源策略中,同一个“源”指的是主机名、协议和端口号的组合,可以看作是某个Web页面或浏览器所浏览的信息的创建者。

同源策略要求脚本只能与同一“源”下的资源进行交互,不能读取或修改来自不同“源”的数据,从而防止恶意脚本通过跨域攻击窃取用户数据或者进行其他恶意操作。

同源策略是Web安全的基础之一,可以有效保护用户的隐私和安全。

同源策略(Same Origin Policy) : 浏览器中的主要安全措施。
“源”: 主机名、协议和端口号的组合;
“源”可看作是某个web页面或浏览器所浏览的信息的创建者。 

在这里插入图片描述

DNS重绑定 DNSrebinding

DNS重绑定是一种存在于浏览器及插件上的漏洞,可被用来绕过防火墙或暂时劫持客户的IP地址,使得浏览器转为开放网络的代理。

攻击者利用DNS重绑定漏洞,可以将浏览器所访问的目标服务器映射为攻击者所控制的源,从而使得攻击者可以通过浏览器访问目标服务器,绕过了目标服务器的访问控制机制。

攻击者可以利用DNS重绑定漏洞进行各种攻击,如窃取用户的敏感信息、执行恶意代码等。

为了防止DNS重绑定攻击,用户可以通过升级浏览器、禁用不必要的插件、使用DNS缓存等方式来增强浏览器的安全性。

网站管理员也可以采取一些措施,如设置CSP策略、使用HTTPS协议、限制跨域访问等,来防止DNS重绑定攻击。

DNS可造成的影响

  • 规避防火墙.
    访问内部网络
    获取保密信息
    利用未打补丁的漏洞
    滥用内部开放服务
  • 劫持 IP 地址
    展开点击骗局
    发送垃圾邮件
    破坏基于IP的认证

攻击过程

  1. 攻击者注册一个域,并由其控制的DNS服务器解析;服务器配置以一个很短的TTL参数,以防止响应被缓存;
  2. 第一个DNS响应包含带有恶意代码的服务器的 IP 地址;后继的DNS响应包含伪造的私有网络的IP地址,该IP为攻击者的攻击目标,位于防火墙的后面;
  3. 由于两个响应均为完全合法的DNS响应, 授权被隔离的脚本访问私有网络内的主机;通过返回多个短生存期的IP地址,DNS 服务器可以让脚本扫描本地网络或展开其他的恶意行为.基本步骤:

Web应用防火墙

在下面这种场景中,网络防火墙是起不到作用的,无法拦截HTTP(S)流数据

在这里插入图片描述
这时候就诞生了Web应用防火墙,专门针对Web应用做防御

Web应用防火墙有以下特性:

  • 专门针对HTTP与HTML
  • 在网络流解密后展开工作, 可以终止 SSL
  • 阻止成为可能

新一代Web应用防火墙

在这里插入图片描述

WAF通过接入Web访问流量,进行协议解析深度解码,调动语义分析访问控制自定义插件引擎进行分析,根据预设策略允许或阻断访问流量。

网站系统(Web应用)的体系结构

在这里插入图片描述
客户端层:客户端层是Web应用的最外层,包括浏览器、移动设备等,它们通过HTTP协议向Web服务器发送请求,并接收服务器返回的响应。

Web服务器层:Web服务器层是Web应用的中间层,主要负责接收和处理客户端发送的请求,并返回响应。Web服务器层通常使用Web服务器软件,如Apache、Nginx等,来处理HTTP请求。

应用服务器层:应用服务器层是Web应用的核心层,主要负责处理业务逻辑和数据处理。应用服务器层通常使用Web应用服务器,如Tomcat、Jboss、WebLogic等,来提供支持。

数据库层:数据库层是Web应用的数据存储层,主要负责存储和管理Web应用的数据。数据库层通常使用关系型数据库管理系统(RDBMS),如MySQL、Oracle、SQL Server等。

集成层:集成层是Web应用的组件集成层,主要负责将不同的组件(如第三方组件、Web服务等)集成到Web应用中,以扩展Web应用的功能和性能。

安全层:安全层是Web应用的安全保障层,主要负责保护Web应用免受各种安全威胁,如SQL注入、跨站点脚本攻击(XSS)、跨站点请求伪造(CSRF)等。安全层通常使用Web应用程序防火墙(WAF)等安全设备或技术来提供保护。

网站系统的脆弱性与安全威胁

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Web安全总结 的相关文章

  • 网络基础面试题(二)

    11 什么是网桥 防火墙的端口防护是指什么 网桥是一种网络设备 用于连接两个或多个局域网 LAN 并转发数据包 它能够根据MAC地址来识别和转发数据 提高网络的传输效率和安全性 防火墙的端口防护是指对防火墙上的各个端口进行保护和限制 只允许
  • 内网穿透的应用-使用Net2FTP轻松部署本地Web网站并公网访问管理内网资源

    文章目录 1 前言 2 Net2FTP网站搭建 2 1 Net2FTP下载和安装 2 2 Net2FTP网页测试 3 cpolar内网穿透 3 1 Cpolar云端设置 3 2 Cpolar本地设置
  • 软件开发和网络安全哪个更好找工作?

    为什么今年应届毕业生找工作这么难 有时间去看看张雪峰今年为什么这么火就明白了 这么多年人才供给和需求错配的问题 在经济下行的今年 集中爆发 供给端 大学生越来越多 需求端 低端工作大家不愿去 高端岗位又太少 很多基础行业 比如机械 土木 所
  • 掌握内网渗透之道,成为实战高手,看《内网渗透实战攻略》就够了

    文末送书 文末送书 今天推荐一本网络安全领域优质书籍 内网渗透实战攻略 文章目录 前言 如何阅读本书 目录 文末送书 前言 当今 网络系统面临着越来越严峻的安全挑战 在众多的安全挑战中 一种有组织 有特定目标 长时间持续的新型网络攻击日益猖
  • 基于成本和服务质量考虑的不确定性下,电动汽车充电网络基础设施需求预测和迭代优化的分层框架研究(Python代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Python代码 数据
  • 【网络安全】Web缓存欺骗攻击原理及攻防实战

    Web缓存欺骗是一种新的攻击方式 危害范围可扩大至各种技术及框架 本文仅分享Web缓存攻击知识 不承担任何由于传播 利用本文所发布内容而造成的任何后果及法律责任 文章目录 前言 攻击前提及原理 实例一 ChatGPT帐户接管漏洞 实例二 P
  • 【CTF必看】从零开始的CTF学习路线(超详细),让你从小白进阶成大神!

    最近很多朋友在后台私信我 问应该怎么入门CTF 个人认为入门CTF之前大家应该先了解到底 什么是CTF 而你 学CTF的目的又到底是什么 其次便是最好具备相应的编程能力 若是完全不具备这些能力极有可能直接被劝退 毕竟比赛的时候动不动写个脚本
  • 5个步骤,教你瞬间明白线程和线程安全

    记得今年3月份刚来杭州面试的时候 有一家公司的技术总监问了我这样一个问题 你来说说有哪些线程安全的类 我心里一想 这我早都背好了 稀里哗啦说了一大堆 他又接着问 那你再来说说什么是线程安全 然后我就GG了 说真的 我们整天说线程安全 但是对
  • 【信道估计】【MIMO】【FBMC】未来移动通信的滤波器组多载波调制方案(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码及文章
  • Python爬虫实战:IP代理池助你突破限制,高效采集数据

    当今互联网环境中 为了应对反爬虫 匿名访问或绕过某些地域限制等需求 IP代理池成为了一种常用的解决方案 IP代理池是一个包含多个可用代理IP地址的集合 可以通过该代理池随机选择可用IP地址来进行网络请求 IP代理池是一组可用的代理IP地址
  • HPE Aruba Networking:五大网络现代化策略助力实现校园数字化转型

    作者 Aruba中国区技术销售总监 俞世丹 全球数字化进程日益加深 科技已成为加速教育行业发展的重要驱动力 人工智能 大数据 云计算 物联网 虚拟现实等新兴技术的快速发展 正在深刻改变着教育的形态和模式 为了更好地满足学校师生个性化教育教学
  • socket网络编程几大模型?看看CHAT是如何回复的?

    CHAT回复 网络编程中常见的有以下几种模型 1 阻塞I O模型 Blocking I O 传统的同步I O模型 一次只处理一个请求 2 非阻塞I O模型 Non blocking I O 应用程序轮询调用socket相关函数检查请求 不需
  • 网络安全(黑客)自学

    1 网络安全是什么 网络安全可以基于攻击和防御视角来分类 我们经常听到的 红队 渗透测试 等就是研究攻击技术 而 蓝队 安全运营 安全运维 则研究防御技术 2 网络安全市场 一 是市场需求量高 二 则是发展相对成熟入门比较容易 3 所需要的
  • 揭秘网络世界的幕后密码——Wireshark网络协议分析软件

    在我们日常生活中 计算机和互联网已经成为不可或缺的一部分 然而 很少有人真正了解网络背后复杂的工作原理和通信协议 幸运的是 有一款强大而实用的软件 Wireshark 可以帮助我们深入了解网络世界的幕后密码 Wireshark是一款免费的网
  • tcpdump抓包

    tcpdump抓包 基本概念 1 类型的关键字 host 指明一台主机 如 host 10 1 110 110 net 指明一个网络地址 如 net 10 1 0 0 port 指明端口号 如 port 8090 2 确定方向的关键字 sr
  • 国外拨号VPS指南:开启你的全球网络之旅

    在当今数字化时代 互联网已经成为了我们生活的一部分 而要在全球范围内畅通无阻地访问互联网 拥有一个可靠的国外拨号VPS是非常重要的 无论您是为了工作 学习还是娱乐 国外拨号VPS都可以为您提供更广泛的网络体验 本文将为您提供国外拨号VPS的
  • ESP10B 锁定连接器

    ESP10B 锁定连接器 ESP10B 电机新增内容包括双极型号标准 NEMA 尺寸 17 23 和 34 的步进电机现在包括输出扭矩范围从 61 盎司英寸到 1291 盎司英寸的双极型号 该电机配有带锁定连接器的尾缆 可轻松连接 每转可步
  • 【安全】简单解析统一身份认证:介绍、原理和实现方法

    深入解析统一身份认证 介绍 原理和实现方法 导语 统一身份认证是什么 统一身份认证的原理 统一身份认证的实现 结语 导语 随着互联网的发展和各种在线服务的普及 用户在不同的应用和平台上需要进行多次身份验证 为了简化用户的登录和减少重复操作
  • 【安全】网络安全态势感知

    文章目录 一 态势感知简介 1 概念 2 形象举例 3 应具备的能力 二 为什么要态势感知 为什么网络安全态势感知很重要 三 态势感知系统的功能 四 如何评估态势感知的建设结果 五 什么是态势感知的三个层级 四 业界的态势感知产品 1 安全
  • 网络安全行业热门认证证书合集

    网络安全认证证书 就和学历一样是敲门砖 拿到了可以用不到 但不能没有 技术大牛可以没有证书 但普通人不能没有 1 初级入门 就像学历在职场上展示一个人的基本素养一样 网络安全认证证书可以展示一个人在网络安全领域具备的基本知识和技能 它为初学

随机推荐

  • SQL优化(三):SQL优化实战

    前两节基本是讲了SQL优化重要的工具大概思路 你连explain都看不明白 遇到慢查询一个SQL执行半天的情况 估计优化起来肯定无处着手 这节主要是SQL优化的具体实战 常见的一些问题 本文实际上也收到很多别的文章影响 收集了一些大牛的优化
  • TortoiseGit disconnected no supported authentication

    今天 我发现一个从远程服务器上获取到的工程 用Git没问题 而TortoiseGit报错 Disconnected No supported authentication methods available server sent publ
  • RFID门禁系统快速识别车辆管理

    01 社会背景 随着生活水平的不断提高 汽车开始大量进入家庭 在中国城市汽车的保有量迅速增加情况下 车辆的管理已成为一个难题 对车辆进行有效的管理 其核心问题是如何对车辆进行识别 本文介绍了一个基于射频识别技术的门禁管理系统 将RFID技术
  • 总结node的优缺点

    Node js采用了谷歌的v8引擎 同时提供了多个系统级的API 这样就避免了在浏览器端运行javascript代码各种的限制 而node js就是运行在服务器端的js代码 JavaScript原始运行环境 JavaScript最早在浏览器
  • python+pyqt制作的可最小化到托盘的桌面图形应用代码实例

    本篇文章主要讲解使用python pyqt制作的可以最小化到托盘的桌面图形应用实例 日期 2023年6月11日 作者 任聪聪 效果演示 说明 实现桌面应用显示窗口 关闭窗口缩小到托盘 点击托盘显示窗口 邮件图标显示退出按钮 点击退出按钮即可
  • 寻路算法 --- A星寻路算法

    深度寻路算法应用场景 仅用于空旷地形 小游戏或者大游戏的某个小模块 点击地图 人物一步步试探 广度寻路算法应用场景 只适用于小地图 回合制的走格子游戏 上帝视角 在走之前已经把路都找出来了 A星寻路算法应用场景 应用场景广泛 RPG游戏 为
  • Python经典基础编程练习题(二)——每日10题

    1 编写一个程序 输入若干个单词 并且以逗号分隔按字母顺序排序后 以逗号分隔打印单词 输入 without hello bag world 输出 bag hello without world 解题思路 掌握分词和排序函数 a input
  • 面经——嵌入式软件工程师面试遇到的经典题目

    参考 嵌入式软件工程师面试遇到的经典题目 作者 一只青木呀 发布时间 2020 11 04 23 43 16 网址 https blog csdn net weixin 45309916 article details 109499825
  • Android-Java和HTML5交互-混合开发-优化

    现在很多的 APP中会嵌套HTML5的页面 比如经常变化的等等 有一部分页面需要原生Java与HTML5中的js进行交互操作 下面介绍一下android中HTML5的使用 1 关于HTML5种cookie 网页中可能会用到 用户信息等很多参
  • algorithm头文件下的常用函数

    max min abs max x y 和min x y 的两个参数可以是浮点数 abs x 的参数必须是整数 浮点型的绝对值要使用math头文件下的fabs swap reverse reverse it1 it2 可以将数组指针在 it
  • 华为8.21日成渝地区笔试题,,,超详细的喔

    8月22日面试的 面试感受放到牛客网上了 点下面链接即可 https www nowcoder com discuss 235118 笔试一共三道题 分别是100分 200分 300分 可以使用本地IDE 第一题 报文转义AC20 如果报文
  • c# 三维向量常用运算函数

    三维向量运算 求点到直线垂足交点 点到直线距离 计算向量夹角 计算AB与CD两条直线的交点 计算AB与CD两条线段的交点 判断点是否在四边形内 abcd为正方形时不准确 判断点p 是否在四边形abcd内 求点到直线垂足交点
  • rocketmq参数配置

    下载代码 git clone https github com tgou RocketMQ 1 打包 mvn Dmaven test skip trueclean package install assembly assembly U 2
  • [转]Mapx在C#中的应用

    在这段代码中 我们应用MapX控件结合老美地图做了最基本的 地图浏览功能 放大 缩小 拖动 全图 测量距离 测量面积 杨雨田 YangYutian Hotmail Com using System using System Drawing
  • 如何使用git命令添加文件和提交文件

    转载 https www cnblogs com olive27 p 6047646 html 1 进入指定文件夹内 启动 git bash here 2 初始化文件夹 git init 3 开始添加文件 所有文件添加方法 git add
  • 带有v-model的input 保证内容是非负整数,键盘输入适用

    带有v model的input 保证内容是非负整数 键盘输入适用 输入小数时自动四舍五入成整数 输入负数时自动变0 遇到的坑 不太会vue 一直按照普通input搞得 给input的value赋值 以为就完了 结果输入小数后 确实立刻变成了
  • Scala中的 方法map和flatMap

    map操作 map操作是针对集合的典型变换操作 它将某个函数应用到集合中的每个元素 并产生一个结果集合 比如 给定一个字符串列表 我们可以通过map操作对列表的中每个字符串进行变换 让每个字符串都变成大写字母 这样变换后就可以得到一个新的集
  • 高德地图的简单使用

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 一 如何在Vue中引入基础高德地图 1 注册并登录高德地图开放平台 2 安装高德地图加载器 二 封装一个自定义地图组件 并初始化 三 添加放大缩小地图 转盘 四 点
  • 学习君github

    一 冰蝎 https github com rebeyond Behinder 源代码审计漏洞 白盒测试的各种漏洞风险描述或具体修复方案 https github com wooyunwang Fortify Golang 100天从新手到
  • Web安全总结

    目录 网站架构 一般web服务器结构 相比于传统的网络攻击 基于web的攻击有什么不同 HTTP协议 HTTP响应拆分攻击 HTTPS 针对HTTPS协议的攻击 那么如何保证证书的唯一性 HTTP会话 Cookie和Session的关系 H