
web
文章平均质量分 71
云川之下
这个作者很懒,什么都没留下…
展开
-
【ssl认证、证书】java中的ssl语法API说明(SSLContext)、与keytool 工具的联系
在java中,我们经常需要使用SSL/TLS连接,这种连接是加密连接,https之类的基于TCP/IP协议的应用层协议加密传输,也经常基于这种加密连接,这种连接jdk底层已经提供了默认的实现,并且是基于jdk中的keystroe证书库实现的认证。默认的SocketFactory实现ssl连接时,是基于这个默认的证书库的实现,因此当遇到证书库中不存在的证书时,就会出现ssl连接异常的问题。或者将不信任的证书安装到中解决问题。原创 2023-04-04 20:48:47 · 4475 阅读 · 0 评论 -
【web nodejs】node-sass离线方式安装
前言npm命令可以很方面的从npm库中安装依赖的类库。实际开发时,操作是非常简单的,但是如果网络不好或受限制的话,可以通过离线安装一安装1. 查看服务器的node版本把下面的脚本添加到package.json: "scripts": { "preinstall": "node -p \"[process.platform, process.arch, process.versions.modules].join('-')\" ", }命令行执行 npm run preinstal原创 2022-03-17 14:16:20 · 5104 阅读 · 0 评论 -
cookie和session的详解与区别
文章目录前言1 Cookie机制1.1 什么是Cookie1.2 记录用户访问次数1.3 Cookie的不可跨域名性1.4 Unicode编码:保存中文1.5 BASE64编码:保存二进制图片1.7 Cookie的有效期1.8 Cookie的修改、删除1.11 Cookie的安全属性1.12 JavaScript操作Cookie1.13 案例:永久登录2 Session机制2.1 什么是Session2.2 实现用户登录2.3 Session的生命周期2.4 Session的原创 2021-11-05 15:59:14 · 550 阅读 · 0 评论 -
【web】spring、servlet 、web.xml 解决中文乱码
文章目录1. spring处理中文2. Servlet处理中文1. spring处理中文为了防止前端传入的中文数据出现乱码问题,使用Spring提供的编码过滤器来统一编码。要使用编码过滤器,只需要在web.xml中添加如下代码:<!-- 配置utf-8编码过滤器 --> <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.spr原创 2021-04-17 17:11:25 · 533 阅读 · 0 评论 -
【web】servlet入门例子(Hello World )
文章目录1. 什么是Servlet2. Hello World 示例2.1 代码2.2 Servlet 部署1. 什么是ServletServlet 是服务 HTTP 请求并实现 javax.servlet.Servlet 接口的 Java 类。Web 应用程序开发人员通常编写 Servlet 来扩展 javax.servlet.http.HttpServlet,并实现 Servlet 接口的抽象类专门用来处理 HTTP 请求。2. Hello World 示例2.1 代码// 导入必需的 ja原创 2021-04-03 16:41:49 · 411 阅读 · 0 评论 -
【Tomcat】Web项目的WEB-INF目录设计原理
在web项目中,为了安全,可能需要把jsp文件放在WEB-INF目录下,这样如果我们的页面中出现超链接a标签或者js的location.href去直接试图访问WEB-INF下的某一个jsp页面,那么就会引用不到,因为这样的请求方式是客户端的请求,而WEB-INF页面只对服务端开放,对客户端是不可见的。以SpringMVC为例1、客户端发送请求http://localhost:8080/springmvc01/hello2、由tomcat接受到对应的请求3、SpringMVC的前端控制器Dispatc原创 2021-04-01 23:13:44 · 592 阅读 · 0 评论 -
【web】八种方式实现跨域请求
参见《八种方式实现跨域请求》转载 2021-02-26 15:01:29 · 184 阅读 · 0 评论 -
【web】Helmet是一系列帮助增强Node.JS之Express/Connect等Javascript Web应用安全的中间件(csp Content-Security-Policy等策略)
参见《helmet是一个保护Node.JS应用的安全项目》转载 2021-02-26 14:58:57 · 531 阅读 · 0 评论 -
【web】内容安全策略CSP(Content-Security-Policy)
文章目录1. 前言2. CSP作用2.1 什么是资源2.2 资源列表3. csp语法3.1 完整示例3.1.1 复现iframe同源限制3.2 语法深入解析3.1 default-src1. 前言内容安全策略(CSP),其核心思想十分简单:网站通过发送一个 CSP 头部,来告诉浏览器什么是被授权执行的与什么是需要被禁止的。其被誉为专门为解决XSS攻击而生的神器。xss是跨域脚本攻击的缩写,详细可以参见《XSS跨域脚本攻击》,举例来说,可以在页面被注入非法的js脚本,然后产生不安全的后果。内容安全原创 2021-02-26 14:51:09 · 3715 阅读 · 0 评论 -
【web】CSRF跨站(跨域)请求伪造攻击方式
文章目录1. CSRF是什么?2. CSRF可以做什么?3. CSRF的原理3.1 举例描述原理3.1.1 示例1:3.1.2 示例2:3.1.3 示例3:4. CSRF的防御4.1 服务端进行CSRF防御4.1.1 token4.1.1.1 Cookie Hashing(所有表单都包含同一个伪随机值):4.1.1.2 验证码4.1.1.3 One-Time Tokens(不同的表单包含一个不同的伪随机值)4.1.2 验证 HTTP Referer 字段4.1.3 在 HTTP 头中自定义属性并验证1.转载 2021-02-25 21:26:11 · 685 阅读 · 0 评论 -
【web】XSS跨域脚本攻击
文章目录1. 概念2. Reflected XSS3. Stored XSS4. DOM-XSS5. XSS危害和预防1. 概念XSS:全称是跨域脚本攻击(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。XSS攻击分为三种,分别是:Reflected XSS(基于反射的XSS攻击)Stored XSS(基于存储的XSS攻击)DOM-based or local XSS(基于DOM或转载 2021-02-25 19:29:13 · 714 阅读 · 0 评论 -
【web nodejs】 Express 框架Express安装与使用(路由、静态文件等)
文章目录1. Express 简介2. 安装3. 第一个 Express 框架实例4. 使用Express有什么不同4.1 路由4.2 静态文件1. Express 简介Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具。使用 Express 可以快速地搭建一个完整功能的网站。Express 框架核心特性:可以设置中间件来响应 HTTP 请求。定义了路由表用于执行不同的 HTTP 请求动作。转载 2021-02-25 15:19:28 · 395 阅读 · 0 评论 -
【web nodejs】Node.js 创建第一个应用(接收 HTTP 请求并返回响应)
文章目录1. 概述2. 创建 Node.js 应用2.1 步骤一、引入 required 模块2.2 步骤二、创建服务器1. 概述如果我们使用 PHP 来编写后端的代码时,需要 Apache 或者 Nginx 的 HTTP 服务器,并配上 mod_php5 模块和 php-cgi。从这个角度看,整个"接收 HTTP 请求并提供 Web 页面"的需求就不需要 PHP 来处理。不过对 Node.js 来说,概念完全不一样了。使用 Node.js 时,我们不仅仅 在实现一个应用,同时还实现了整个 HTTP转载 2021-02-25 10:38:27 · 630 阅读 · 0 评论 -
【web nodejs】Node.js Web 模块(加载静态页面的web功能)
文章目录1. 什么是 Web 服务器?2. 使用 Node 创建 Web 服务器3. 使用 Node 创建 Web 客户端1. 什么是 Web 服务器?Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,Web服务器的基本功能就是提供Web信息浏览服务。它只需支持HTTP协议、HTML文档格式及URL,与客户端的网络浏览器配合。大多数 web 服务器都支持服务端的脚本语言(php、python、ruby)等,并通过脚本语言从数据库获取数据,将结果返回给客户端浏览器。目前最主流的三个转载 2021-02-25 10:23:43 · 1006 阅读 · 0 评论 -
【web 】 Apache和Tomcat区别 & WEB服务器(容器)、应用程序服务器、HTTP服务器区别、servlet容器(ServletContext)
文章目录对比项服务器种类解释java程序资源区别ApacheWeb服务器不能仅支持html,img等静态资源,不支持动态请求如:CGI、Servlet/JSP、PHP、ASPTomcatJava服务器(Servlet容器)能既支持JSP,Servlet等动态资源,也支持静态页,但效率没有Apache高Apache 和 Tomcat 都是web网络服务器,两者既有联系又有区别:Apache是web服务器(仅支持静态解析,如HTML)也就是说你在服务原创 2021-02-24 19:14:52 · 1383 阅读 · 0 评论 -
【web nodejs】什么是 Nodejs(npm 插件) & Hello World示例
文章目录1. 概述2. Node.js 的诞生3. Nodejs 中运行 JS 代码3.1 脚本模式3.2 交互模式4. npm 是世界上最大软件包仓库1. 概述这集来聊什么是 Nodejs ,看看 Node.js 是为了解决什么样的痛点而生的,为啥说它是一个 JS 的运行环境,以及 npm 是什么,为何能引发了 Web 开发的革命。2. Node.js 的诞生Node.js 是2009的时候由大神 Ryan Dahl 开发的。Ryan 的本职工作是用 C++ 写服务器,后来他总结出一个经验,一个高转载 2021-02-24 18:17:39 · 331 阅读 · 0 评论 -
【web】 Http请求中请求头Content-Type讲解
在Http请求中,我们每天都在使用Content-type来指定不同格式的请求信息,但是却很少有人去全面了解content-type中允许的值有多少,这里将讲解Content-Type的可用值MediaType,即是Internet Media Type,互联网媒体类型;也叫做MIME类型,在Http协议消息头中,使用Content-Type来表示具体请求中的媒体类型信息,确切的来说是客户端告知服务端,自己即将发送的请求消息携带的数据结构类型,好让服务端接收后以合适的方式处理。例如: Content-T转载 2021-02-24 14:53:32 · 16011 阅读 · 0 评论 -
【web】 js发送get 、post请求的方法简介(Content-Type作用)
文章目录1. 使用XMLHttpRequest创建请求1.1 GET请求:1.2 POST请求:1. 使用XMLHttpRequest创建请求主要分三步:第一步:创建需要的对象,这里主要用到的是XMLHttpRequest,注意需要考虑早期的IE;第二步:连接和发送;第三步:接收;1.1 GET请求:var httpRequest = new XMLHttpRequest();//第一步:建立所需的对象 httpRequest.open('GET', 'url'转载 2021-02-24 14:47:54 · 1256 阅读 · 0 评论 -
【web】 nodesjs express 统一(全局)设置Respose Headers & 跨域
文章目录1. 概述2. 如何设置1. 概述我们在《http请求中的 OPTIONS 详解 & 跨域》一文介绍跨域处理办法时,在 ”2.1.3.2 对于非简单请求(带options请求)“ 章节中提到统一设置Respose Headers的方法,这里单独提出来,做个笔记。2. 如何设置app.all('*', function(req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.hea原创 2021-02-24 14:03:48 · 730 阅读 · 0 评论 -
【web】 Cross-Origin Resource Sharing(CORS)协议介绍 & 跨域(Access-Control-Allow-Origin)
文章目录1. 概述2. CORS协议2.1 简单的COR请求2.2 复杂请求3. CORS协议的实现4. 服务端实现5. 参考1. 概述传统的Ajax请求只能获取在同一个域名下面的资源,但是HTML5打破了这个限制,允许Ajax发起跨域的请求。浏览器是可以发起跨域请求的,比如你可以外链一个外域的图片或者脚本。但是Javascript脚本是不能获取这些资源的内容的,它只能被浏览器执行或渲染。在Flash和Silverlight中,服务器需要创建一个crossdomain.xml的文件来允许跨域请求。如转载 2021-02-22 19:03:12 · 605 阅读 · 0 评论 -
【web】http请求中的 OPTIONS 详解 & 跨域
文章目录1. 导读2. 解释2.1 览器将CORS请求分为两类:简单请求和非简单请求2.1.1 Simple Requests简单请求2.1.2 Preflighted Requests 复杂请求2.1.2.1 options请求未通过例子2.1.2.2 options请求通过例子1. 导读有过跨域请求的同学们应该发现过一个http请求有时会请求2次的时候,今天就给大家说说这个http请求的OPTIONS 方法是如何产生以及作用是啥。2. 解释互联网上的各个节点之间本来都是连通的,但是有些节点,比如原创 2021-02-22 17:29:11 · 8289 阅读 · 0 评论 -
【css】css换行 white-space,word-wrap,word-break
word-wrap允许长单词换行到下一行:p.test {word-wrap:break-word;}我们来看个完整例子<!DOCTYPE html><html><head> <style> p.test { width: 11em; border: 1px solid #000000; } </style></head>&原创 2020-07-22 17:27:53 · 2198 阅读 · 0 评论 -
【js】FormData作用和用法
文章目录作用为什么要模拟表单为何FormData对象的创建像创建对象一样来创建通过已有的Form来创建语法例子常用方法append语法作用对象的使用:用一些键值对来模拟一系列表单控件,以便使用XMLHttpRequest发送异步上传二进制文件为什么要模拟表单传统的传递参数可以通过form表单,设置action参数,点击submit触发提交<form action="xxxx" method="get" class="form-example"> <inpu原创 2020-07-23 21:00:20 · 1710 阅读 · 0 评论 -
【js】JS操作文件
在HTML表单中,可以上传文件的唯一控件就是<input type="file">。注意:当一个表单包含<input type="file">时,表单的enctype必须指定为multipart/form-data,method必须指定为post,浏览器才能正确编码并以multipart/form-data格式发送表单的数据。出于安全考虑,浏览器只允许用户点击<input type="file">来选择本地文件,用JavaScript对<input type="转载 2020-07-21 15:19:06 · 521 阅读 · 0 评论 -
【web】HTTP头信息解读
文章目录概述消息头1、Genaral headers2、Request headers3、Response Headers4、Entity Headers概述HTTP的头域包括通用头、请求头、响应头和实体头四个部分。每个头域由一个域名,冒号(:)和域值三部分组成。通用头部:指的是可以应用于请求和响应中,但是不能应用于消息内容自身的 HTTP 首部 。 取决于应用的上下文环境,通用首部可以是响应头部或者请求头部。但是不可以是实体头部。最常见的通用首部包括:Date、Cache-Control或转载 2020-07-16 15:49:54 · 4454 阅读 · 0 评论 -
【js】JS Headers对象
概述Fetch API (Headers是由Fetch API衍生的?)的 Headers 接口允许您对HTTP请求和响应头执行各种操作。 这些操作包括检索,设置,添加和删除。 一个Headers对象具有关联的头列表,它最初为空,由零个或多个键值对组成。你可以使用append()方法添加 之类的方法添加到此(参见 Examples)。在该接口的所有方法中,标题名称由不区分大小写的字节序列匹配。你可以通过 Request.headers 和Response.headers属性检索一个Headers对象,转载 2020-07-15 18:49:17 · 3236 阅读 · 0 评论 -
【js】Fetch API
文章目录概述支持的请求参数检测请求是否成功自定义请求对象Response 对象Body概述Fetch API提供了一个 JavaScript 接口,用于访问和操纵HTTP 管道的一些具体部分,例如请求和响应。它还提供了一个全局 fetch()方法,该方法提供了一种简单,合理的方式来跨网络异步获取资源。这种功能以前是使用XMLHttpRequest 实现的。Fetch 提供了一个更理想的替代方案,可以很容易地被其他技术使用,例如 Service Workers。Fetch 还提供了专门的逻辑空间来定义转载 2020-06-29 15:30:19 · 618 阅读 · 0 评论 -
【js】js中if判断true和false
1、字符串参与判断时非空即为真if(str!=null && str!=undefined && str !=''){}//可简写为if(!str){ console.log(str)}原创 2020-06-10 15:05:36 · 10997 阅读 · 1 评论 -
【js】js 对象数组排序
本文是用typescript写的,跟普通js查不多,稍改造即可单字段排序dest.sort(this.getCompareFun(attr1, attr2, orderby));getCompareFun(attr1, sort) { return function (o, p) { let a, b; if (typeof o...原创 2019-11-27 10:45:04 · 112 阅读 · 0 评论 -
【js JavaScript 】js string 转 int 注意的问题小结 & Number()和parseInt()区别
var str=‘1250’ ;alert( Number(str) ); //得到1250alert(parseInt(str)); //得到1250var str1=‘00100’;alert( Number(str1) ); //得到100alert(parseInt(str1)); //得到64发现parseInt方法在format’00’开头的数字时会当作2进制转10进制的方法进行转换,所以建议string转int最好用Number方法...原创 2021-01-27 10:38:00 · 190 阅读 · 0 评论 -
【web】CSRF攻击原理以及防御方法
概念CSRF概念:CSRF跨站点请求伪造(Cross—Site Request Forgery),跟XSS攻击一样,存在巨大的危害性,你可以这样来理解:攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等。举例如下:其中Web A为存在...转载 2020-04-16 19:20:48 · 844 阅读 · 0 评论 -
【web】Protocol URL官方译文
Registering an Application to a URI SchemeRegistering an Application to a URI Scheme关于异步可插拔协议文章介绍了如何为统一资源标识符(URI)方案开发处理程序。 在某些情况下,可能需要调用另一个应用程序来处理自定义URI方案。 为此,请将现有应用程序注册为URI可插拔协议处理程序,并将其与自定义URI方案相关联...原创 2020-04-01 14:14:05 · 365 阅读 · 0 评论 -
【web】自定义协议Protocol URL
URL Protocol(自定义协议)可以让web页面调用本地exe程序,这个神奇的功能是怎么实现的呢?URL ProtocolURL Protocol,没错就是标题里所说的自定义协议。这玩意儿大家最常见的比如迅雷、电驴等。我们平时在电影天堂下载电影的时候点击链接浏览器会启动本地迅雷进行下载。下面是某部电影的下载链接浏览器检查元素后<a href="thunder://QUFmdHA...原创 2020-03-31 20:43:21 · 5389 阅读 · 0 评论