window.opener的安全漏洞和rel=noopener标签的使用
最近我更新了我的网站代码,给友情链接和外部链接增加了rel=noopener标签,所以今天就讨论一下为什么要使用rel=noopener标签,其实这个是一个安全漏洞,JavaScript提供了window.opener来获取创建该窗口的 Window 对象,那么问题就来了,我们一点一点说。
共 218 篇文章
最近我更新了我的网站代码,给友情链接和外部链接增加了rel=noopener标签,所以今天就讨论一下为什么要使用rel=noopener标签,其实这个是一个安全漏洞,JavaScript提供了window.opener来获取创建该窗口的 Window 对象,那么问题就来了,我们一点一点说。
我的个人博客网站一直坚持每年一次大更新,但这次我决定不更新了,因为再更新就是使用微服务了,一个小网站用微服务架构就有点杀鸡用牛刀了,而且维护起来比较费时费力。所以直接写成教程文章就不再大动干戈的去重写我的博客了。
在《[二]Scala开发教程-Scala基础:数据类型》中我们讨论了数据类型,本片文章将讨论Scala中的变量与常量,在学习如何声明变量与常量之前,我们先来了解一些变量与常量:一、变量: 在程序运行过程中其值可能发生改变的量叫做变量。如:时间,年龄。二、常量 在程序运行过程中其值不会发生变化的量叫做常量。如:数值 3,字符'A'。
Dash是API文档浏览器和代码段管理器。Dash可帮助您存储代码片段,以及即时搜索和浏览文档以查找几乎所有可能使用的API。
Navicat Premium将所有Navicat版本合并为一个最终版本,可以连接MySQL、Oracle和PostgreSQL。Navicat Premium允许用户在一个客户机内将表和数据从Oracle拖放到MySQL、PostgreSQL拖放到MySQL、Oracle拖放到PostgreSQL,反之亦然。此外,针对不同数据库的批处理作业(如MySQL中的打印报告、Oracle中的备份数据和PostgreSQL中的同步数据)也可以被调度和自动地在特定时间运行。
Charles是在您自己的计算机上运行的Web代理(HTTP代理/ HTTP监视器)。然后,将您的Web浏览器(或任何其他Internet应用程序)配置为通过Charles访问Internet,然后Charles可以为您记录和显示所有发送和接收的数据。
Navicat Premium将所有Navicat版本合并为一个最终版本,可以连接MySQL、Oracle和PostgreSQL。Navicat Premium允许用户在一个客户机内将表和数据从Oracle拖放到MySQL、PostgreSQL拖放到MySQL、Oracle拖放到PostgreSQL,反之亦然。此外,针对不同数据库的批处理作业(如MySQL中的打印报告、Oracle中的备份数据和PostgreSQL中的同步数据)也可以被调度和自动地在特定时间运行。
在电脑上或者服务器上没办法直接看到公网IP,只能看到内网的IP,程序就无法知道互联网出口的地址,我就又写了一个获取公网IP地址的应用,这个应用是使用无服务器函数计算实现的,可用性和速度都不错,就分享给大家使用。
由上面的表格我们可以看出来Scala里面都是对象,没有java中的原生类型,还有一部分和Java有所区别Scala包含了一些虚无的概念(Null,null,Nil,Nothing,None和Unit),空(Null)是一个trait,它(如果你不熟悉trait)有点像Java中的抽象类。确实存在一个空的实例
在Idea的启动界面中现在Configure,Plugins,搜索框中输入Scala,安装Scala插件,安装完成后会要求重启Idea,插件就可以生效了。接下来,我们创建一个Scala项目,点击Create New Project,左侧我们选择Scala,右侧我们选择IDEA,点击下一步,给项目起一个名字,这里叫HelloScala,然后选择要存储的位置,如果是第一次构建,还需要下载ScalaSDK