
Web
文章平均质量分 71
Artisan_w
这个作者很懒,什么都没留下…
展开
-
Databales的组件TableTools用法
按键:https://datatables.net/extensions/tabletools/button_options#Ajax-button-options。原创 2024-04-02 16:42:20 · 430 阅读 · 0 评论 -
浏览器中的Content-Type属性
HTTP的Content-Type是一种标识HTTP请求或响应中包含的实体的媒体类型的头部字段。它指示了数据的类型,使接收方能够正确处理数据。以下是一些常见的Content-Type类型:text/plain:纯文本,没有特定格式。text/html:HTML文档。text/javascript:JavaScript代码。application/json:JSON数据。application/xml:XML数据。application/pdf:Adobe PDF文档。原创 2024-04-02 16:35:25 · 1219 阅读 · 0 评论 -
操作系统注入漏洞
命令注入漏洞是一种安全漏洞,允许攻击者通过在应用程序中注入恶意命令来执行非法操作。在操作系统中,这种漏洞可能存在于用户输入被不正确处理的情况下。攻击者可能通过恶意构造的输入来执行系统命令,这可能导致未经授权的访问、数据泄露、拒绝服务等安全问题。1、输入验证和过滤: 对于用户输入,确保进行有效的验证和过滤。不信任的输入数据应该被正确地验证、过滤或转义,以防止恶意命令的注入。这可以有效地防止 SQL 注入和命令注入攻击。3、最小权限原则: 应用程序和系统应该以最小权限的方式运行。原创 2024-04-02 16:33:54 · 407 阅读 · 0 评论 -
XML与Xpath
XML是一种具有某种层次结构的文件,Xpath则是解析这种文件的工具接下来将会解释XML文件的结构和Xpath的基本使用,并且用Java语言进行操作展示。原创 2024-04-02 16:31:44 · 884 阅读 · 0 评论 -
HttpClient4基础
HTTP 请求都有一个请求行,其中包含请求方法、请求URI和HTTP的版本协议接下来还有请求体和请求头。原创 2024-03-19 17:30:42 · 576 阅读 · 0 评论 -
跨域问题与解决方法
浏览器很容易受到XSS、CSFR等攻击。所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源。同源策略限制以下几种行为:Cookie、LocalStorage 和 IndexDB 无法读取DOM和JS对象无法获得AJAX 请求不能发送。原创 2024-03-02 14:46:54 · 1080 阅读 · 0 评论 -
转义(escape)、校验与编码(encode)
原则: 对输入进行转义,对输出进行校验和编码基于DOM的跨站点脚本JS通过DOM方式输出到HTML元素相关内容时,需要做HTMLEncodeJS通过DOM方式输出到JS元素相关内容时,需要做JavaScriptEncodeJS对所有输入进行转义和检查使用.innerHtml时,如果只是要显示文本内容,必须在innerHtml取得内容后,去除HTML标签客户端对页面的任何用户输入进行HTML转义和校验服务端对客户端传入的用户数据进行进行HTML转义。原创 2023-12-28 09:10:50 · 1559 阅读 · 0 评论 -
sql注入原理与解决方法
所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击.当应用程序使用输入内容来构造动态sql语句以访问数据库时,会发生sql注入攻击。sql注入攻击是利用是指利用设计上的漏洞,在目标服务器上运行Sql语句以及进行其他方式的攻击,动态生成Sql语句时没有对用户输入的数据进行验证是Sql注入攻击得逞的主要原因。原创 2024-01-02 10:15:24 · 491 阅读 · 0 评论 -
url中有Jsessionid与重写功能
jsessionid是标明session的id的,它是存在于cookie中的,一般情况下不会出现在url中,服务器会从客户端的cookie中取出来,但是如果客户端禁用了cookie的话,就要重写url了,显式的将jsessionid重写到Url中,方便服务器来通过这个找到session的id。如果客户端请求的cookie中不包含JSESSIONID,服务端调用request.getSession()时就会生成并传递给客户端,此次响应头会包含设置cookie的信息。原创 2024-01-02 10:02:13 · 597 阅读 · 0 评论 -
清理tomcat的缓存数据
在 Tomcat 的 conf/Catalina/localhost 目录下有可能存在与你的项目相关的 XML 文件(通常是项目的 WAR 文件名加 .xml 后缀)。确保这个文件中没有重复的配置。确保你的项目中只有一个 web.xml 文件,并且没有其他重复的配置。如果你使用的是 IDE(如 IntelliJ IDEA 或 Eclipse),尝试执行清理和重新构建项目的操作,以确保 IDE 中的配置是正确的。在 Tomcat 的 work 目录下删除缓存,然后重新启动 Tomcat。原创 2023-12-31 21:25:19 · 3850 阅读 · 0 评论 -
commet与websocket
Comet是一种用于web的技术,能使服务器能实时地将更新的信息传送到客户端,而无须客户端发出请求,目前有两种实现方式,长轮询和iframe流。实现方式。原创 2023-09-05 19:52:37 · 971 阅读 · 0 评论 -
Redis的基本操作
Remote Dictionary Server(Redis) 是一个开源的由Salvatore Sanfilippo使用ANSI C语言开发的key-value数据存储服务器。其值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型,所以它通常也被称为数据结构服务器。是一款高性能的NOSQL系列的非关系型数据库。原创 2023-09-05 19:49:31 · 769 阅读 · 1 评论 -
高并发性能指标
它是软件测试结果的测量单位。QPS vs TPS:QPS基本类似于TPS,但是不同的是,对于一个页面的一次访问,形成一个TPS;(1000/80) = 25, 可见QPS随着线程的增加而线性增长,那QPS上不去就加线程呗,听起来很有道理,公司也说的通,但是往往现实并非如此。瓶颈资源可以是CPU,可以是内存,可以是锁资源,IO资源:超过最佳线程数-导致资源的竞争,超过最佳线程数-响应时间递增。在达到最佳线程数的时候,线程数量继续递增,则QPS不变,而响应时间变长,持续递增线程数量,则QPS开始下降。原创 2023-08-29 14:14:43 · 193 阅读 · 0 评论 -
tomcat中的BIO与NIO发展
BIO每个连接都会创建一个线程,对性能开销大,不适合高并发场景。NIO基于多路复用选择器监测连接状态在通知线程处理,当监控到连接上有请求时,才会分配一个线程来处理,利用少量的线程来管理了大量的连接,优化了IO的读写,但同时也增加CPU的计算,适用于连接数较多的场景。原创 2023-08-17 10:28:13 · 1071 阅读 · 0 评论 -
浏览器缓存技术--localStorage和sessionStorage原理与使用
sessionStorage 特别的一点在于,即便是相同域名下的两个页面,只要它们不在同一个浏览器窗口中打开,那么它们的 sessionStorage 内容便无法共享;生命周期:localStorage 是持久化的本地存储,存储在其中的数据是永远不会过期的,使其消失的唯一办法是手动删除;它接受两个参数,第一个是键名,第二个是保存的数据。LocalStorage在存储方面没有什么特别的限制,理论上 Cookie 无法胜任的、可以用简单的键值对来存取的数据存储任务,都可以交给 LocalStorage 来做。原创 2023-08-11 10:44:50 · 2499 阅读 · 0 评论 -
Cookie的详解
cookie是用来维护用户信息的,而域名(domain)下所有请求都会携带cookie,但对于静态文件的请求,携带cookie信息根本没有用,此时可以通过cdn(存储静态文件的)的域名和主站的域名分开来解决。值得注意的是,从客户端读取Cookie时,包括maxAge在内的其他属性都是不可读的,也不会被提交。2)、在设置Cookie认证的时候,需要加入两个时间,一个是“即使一直在活动,也要失效”的时间,一个是“长时间不活动的失效时间”,并在Web应用中,首先判断两个时间是否已超时,再执行其他操作。原创 2023-08-11 10:42:44 · 1975 阅读 · 0 评论 -
request请求获取数据
request请求获取数据的三种方式原创 2023-08-11 10:39:33 · 798 阅读 · 0 评论 -
TopN漏洞--sql注入
当输入的参数为整型时,如ID、年龄、页码等,如果存在注入漏洞,则可以认为是数字型注入。但系统管理员可以通过扫描到的安全漏洞,根据不同的情况采取相应的防范措施封堵相应的漏洞,从而把SQL注入攻击的门给关上,从而确保系统的安全。SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。从而确保系统的安全性。原创 2023-08-11 10:31:55 · 221 阅读 · 0 评论 -
Spring Boot项目出现问题: Whitelabel Error Page
Spring Boot项目出现问题:Whitelabel Error PageThis application has no explicit mapping for /error, so you are seeing this as a fallback.Tue Jun 07 11:39:11 CST 2022原创 2022-06-07 11:46:32 · 762 阅读 · 0 评论 -
cookie与sessionStorage,localStorage
cookielocalStorage 和 sessionStorage 属性允许在浏览器中存储 key/value 对的数据。会话Cookie:保存在浏览器内存中,关闭浏览器,Cookie便被销毁了。普通Cookie:保存在硬盘上,设置了过期时间,过期后销毁。sessionStorage,localStorage,Cookie都放在客户端浏览器,区别在于sessionStorage,localStorage存放的参数,不会主动传递给服务器端,解决了无用参数传递的问题。sessionStorag原创 2022-03-05 14:03:23 · 264 阅读 · 0 评论 -
后端代码设置Samesite属性
Samesite属性设置目的:防御CSRFCookie的属性SameSite如果不配置或者配置为none,则存在CSRF风险。SameSite的取值可以为:(1)unset(默认)。这种情况浏览器可能会采用自己的策略。(2)none。存在CSRF风险。(2)lax。大多数情况也是不发送第三方 Cookie,但是导航到目标网址的 Get 请求除外。(3)strict。完全禁止第三方 Cookie,跨站点时,任何情况下都不会发送 Cookie。换言之,只有当前网页的 URL 与请求目标一致,才会带原创 2022-03-05 14:00:06 · 3722 阅读 · 0 评论 -
CSRF攻击原理与防御方案
CSRF攻击的原理CSRF概念CSRF跨站点请求伪造(Cross—Site Request Forgery),跟XSS攻击一样,存在巨大的危害性,你可以这样来理解:攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等。 如下:其中Web A为存在CSRF漏洞的网站,Web B为攻击者构建的恶意网站,User C为Web A网站的合法用户。CSRF原创 2022-03-05 13:58:02 · 335 阅读 · 0 评论 -
ESWAPI的使用
ESAPI的使用依赖jar包esapi-2.2.3.1.jarlog4j-1.2.17.jar配置文件1、ESAPI.propertiesESAPI.printProperties=true# 这个地方是配置ESAPI的实现类,项目中用到那个就选择性配置即可ESAPI.Encoder=org.owasp.esapi.reference.DefaultEncoderESAPI.Validator=org.owasp.esapi.reference.DefaultValidator# 以原创 2022-03-05 13:53:38 · 2499 阅读 · 0 评论 -
防止基于 DOM 的 XSS
防止基于 DOM 的 XSS规则1原则:HTML 转义,然后 JavaScript 转义,然后再将不受信任的数据插入到执行上下文中的 HTML 子上下文中有多种方法和属性可用于在 JavaScript 中直接呈现 HTML 内容。这些方法构成了执行上下文中的 HTML 子上下文。如果这些方法提供了不受信任的输入,则可能会导致 XSS 漏洞属性 element.innerHTML = "<HTML> Tags and markup"; element.outerHTML = "<原创 2022-03-05 13:51:07 · 10939 阅读 · 0 评论 -
XSS跨站点预防规则
XSS跨站点预防规则不要简单地对各种规则中提供的示例字符列表进行编码/转义。仅编码/转义该列表是不够的。阻止列表方法非常脆弱。此处的允许列表规则经过精心设计,即使将来因浏览器更改而引入的漏洞也能提供保护。规则 0 除了在允许的位置,永远不要插入不受信任的数据第0条规则是拒绝所有不受信任的数据放入您的 HTML 文档,除非它满足下面所陈述的规则。原因是 HTML 中有太多奇怪的上下文,以至于编码规则列表变得非常复杂。例如 JavaScript 中的 URL的编码很麻烦。最重要的是,永远不要接受来自不受原创 2022-03-05 13:49:39 · 6077 阅读 · 1 评论 -
JSON数据详解--JS端与Java端
JSONJSON实际上是JavaScript的一个子集。在JSON中,一共就这么几种数据类型:number:和JavaScript的number完全一致;boolean:就是JavaScript的true或false;string:就是JavaScript的string;null:就是JavaScript的null;array:就是JavaScript的Array表示方式——[];object:就是JavaScript的{ … }表示方式。JSON还定死了字符集必须是UTF-8,表示多语言就原创 2022-01-28 10:45:29 · 1850 阅读 · 0 评论 -
网络是怎样联通的-整体架构
本文摘自《网络是怎样连接的》一书网络的全貌 让我们先来看一下浏览器访问 Web 服务器这一过程的全貌。访问 Web 服务器并显示网页这一过程包含了浏 览器和 Web 服务器之间的一系列交互,主要是下面这样的交互。(1) 浏览器:“请给我 ××× 网页的数据。”(2) Web 服务器:“好的,这就是你要的数据。”在这一系列交互完成后,浏览器就会将从 Web 服务器接收到的数据显示在屏幕上。虽然显示网页这个过程 非常复杂,但浏览器和服务器之间通过网络进行的交互却出乎意料地简单。虽然我们看到的很简单,原创 2020-06-12 10:48:52 · 1452 阅读 · 0 评论 -
第一个Sevlet-Web程序
首先明确功能需求:通过浏览器访问创建网址,输出Hello World需要已经配置好的环境:IdeaJDKTomcat1,创建工程选择Java Enterprise->选中Web Application工程名为WebTest创建的结构如图所示2,创建classes跟lib文件,并将路径class输出跟jar包路径设置为这两个文件。创建文件:File->Pro...原创 2020-04-15 16:36:43 · 188 阅读 · 0 评论