技术文章

XSS(跨站脚本攻击)

戏子无情 提交于 2021-02-17 02:20:53
XSS(Cross-site scripting)跨站脚本攻击,是一种安全漏洞。 示例代码 1. XSS的含义 顾名思义,就是向web页面或者网站的url添加恶意的script(脚本)代码,使用户访问该网站时,执行恶意代码,从而达到攻击的目的。 发生XSS的场景: 1. 网站对用户的输入过滤不足,返回给用户的展示结果过滤不足。 2. 网站的链接地址未经过过滤 2. 如何进行攻击 攻击种类多种多样,通常包含如下: 1. 向网站注入脚本,获取访问用户的cookie或者其他会话信息(session information)等私有数据 2. 通过注入脚本,将受害者的网页重定向到攻击者控制的网页 3. 通过注入脚本,在用户的计算机上执行其他恶意操作 3. XSS攻击分类 XSS攻击分为3类: 存储型(持久型)、反射型(非持久型)、基于DOM型。危害程度递减。 存储型(Stored/Persistent XSS Attacks) 危害程度最大,可能危及所有用户! 注入的脚本永久的存储在目标服务器中。当浏览器发送数据请求时,受害者和网站的其他用户都会再次拿到恶意脚本。 <示例>: 网站的评论功能 评论提交后,存储到服务器。所有访问该网站的用户自动从服务器拉取到恶意代码。 // 在评论框中输入恶意脚本,提交到服务器 hello < script > 广告等 </ script > 反射型

十、python 集合的定义与使用

依然范特西╮ 提交于 2021-02-17 02:20:27
一、集合的定义 定义:由不同元素组成的集合,集合是一组无序排列 可hash值,可作为字典的key。 特性:集合的目的是将不同的值存放在一起,不同的集合间用来做关系运算,无须纠结于集合中的单个值。 (1、不同元素组成 2、无序 3、集合中的元素必须是不可变类型) 二、集合的使用 1、声明集合 jihe = {1,2,3,4,5 } # 与字典看上去类似,但是是不一样的。字典是 dict1 = {key:value,key2:value2,}需要key (1)自动去重 注意,集合是有不同元素组成,所以即便里面的值重复了,也会去重。 例: set1 = {1, 2, 4, 3, 3, 4, 4, 3, 3, 2, 2, 2, 2, 1 } print (set1) 运行结果 (2)打印内容是无序的 例 set1 = { " 陈司 " , " 怎能 " , " 不 " , " 是 " , " 大帅哥 " } print (set1) 运行结果 2、添加元素 set.add() 方法 例: set1 = {1,3 } set1.add( 2 ) print (set1) 运行结果 3、删除集合元素。 (1)set.pop() 与 set.remove() 例 set1 = { " s " , 1, " 234 " , 2 } # pop会从集合中随机删除一个数 v = set1.pop()

这几道Python面试题,稳准狠,Python面试题No15

好久不见. 提交于 2021-02-17 02:19:38
文章目录 必须放一个表情包,太魔性了! 第1题: 修改以下Python代码,使得下面的代码调用类A的show方法? 第2题:修改以下Python代码,使得代码能够运行 第3题: 下面这段代码的输出是什么? 第4题: 下面这段代码输出什么? 第5题:如何添加代码,使得没有定义的方法都调用myfunc方法? 第6题:关注题,最近在公号更新一个神奇的系列入门文章 必须放一个表情包,太魔性了! 第1题: 修改以下Python代码,使得下面的代码调用类A的show方法? 原始代码 class A ( object ) : def run ( self ) : print ( "基础 run 方法" ) class B ( A ) : def run ( self ) : print ( "衍生 run 方法 " ) obj = B ( ) obj . run ( ) 面试要点: 类继承,只要通过 __class__ 方法指定类对象就可以了。 修改代码 class A ( object ) : def run ( self ) : print ( "基础 run 方法" ) class B ( A ) : def run ( self ) : print ( "衍生 run 方法 " ) obj = B ( ) obj . __class__ = A obj . run ( ) 第2题

bootstrap 后端模板推荐下载

旧城冷巷雨未停 提交于 2021-02-17 02:18:56
工欲善其事,必先利其器 对于从事软件开发的您也一样,有一套熟悉的bootstrap后台ui框架, bootstrap 后端模板 让您的开发速度大幅度提升 这是本人经常使用到的一些bootstrap后台框架推荐给大家 第一名 inspinia bootstrap 后端模板 演示地址 http://cn.inspinia.cn 效果图 cn.inspinia.cn 第二名 nifty admin 演示地址 http://www.niftyadmin.cn 效果图 www.niftyadmin.cn 第三名 smartadmin 演示地址 http://smartadmin.com.cn 效果图 http://smartadmin.com.cn 第四名 color admin 演示地址 http://www.coloradmin.cn http://www.coloradmin.cn 第五名 quillpro 演示地址 http://cn.inspinia.cn/quillpro/index.html 效果图 --------------------- 作者:1322300062 来源:CSDN 原文:https://blog.csdn.net/u013816448/article/details/81563051?utm_source=copy 版权声明:本文为博主原创文章

Vue+Webpack构建移动端京东金融(一、开发前准备)

流过昼夜 提交于 2021-02-17 02:18:35
一、开发前准备 1.node环境搭建 去node.js官网下载长期支持版本的node,采用全局安装,安装方式自行百度 网址: https://nodejs.org/zh-cn/ 安装后在cmd命令行运行如下代码,若返回版本信息则说明安装成功 1 node - v    2.GitHub创建-码云 整个项目通过码云来托管代码,用到的工具是Git。 2.1.创建码云账号 进入码云官网,注册一个码云账号 网址: https://gitee.com/ 2.2.创建一个git仓库 创建一个名为jd-finance的项目仓库,注意:最新版本的vue不支持创建大写名称的项目: 2.3.配置本地git环境 去git官网下载git并安装,安装方式自行百度 网址: https://git-scm.com/ 安装后运行git的命令行工具Git Bash,运行如下命令检测版本信息: 1 git --version 配置git用户名称和邮箱,这样做很重要,因为每一个 Git 的提交都会使用这些信息,并且它会写入到你的每一次提交中,不可更改: 1 2 git config --global user.name "ashan" git config --global user.email 14718061295@163.com    2.4.生成本地ssh公钥 git bash运行以下命令,生成本地ssh公钥

ES6

可紊 提交于 2021-02-17 02:18:13
都看到这里了,我就不写什么node环境安装之类的了。 直接从新建项目文件夹后开始吧! 安装依赖: 命令行cd到项目文件夹之后,执行以下命令:(mac记得前边加sudo) npm init –y // 创建 package .json npm install @babel/core @babel/cli @babel / preset-env //安装所需 babel 依赖说明: @babel/core :是整个功能中最核心的模块。core就是核心的意思。 里边的一个核心功能就是transform,把js代码编程抽象语法树AST。只要变成抽象语法树后,后期的插件才能根据这个抽象语法树进行降级,转成 es5 。 以上其主要功能是提供抽象语法树,但是不提供降级,进行降级转换es 5语法的话 还需要其他一个插件: @ babel / preset-env :是一个插件集合,里边集成了很多插件,比如专门解析let、专门解析箭头函数等的插件。他具备把所有的es 6的语法都转成es5的能力 ,但是此能力也依赖babel/core 把写的es 6语法真正转成es5 ,需要一个指令去找到这个文件,编译转换后输出新的文件,就需要这个脚手架。 @babel/cli :也是一个工具,通过命令行对js文件进行换码。可以让你通过npx指令执行对应命令。 此时,执行npx babel es6.js -o es5

维度表的好处

帅比萌擦擦* 提交于 2021-02-17 02:17:59
1.缩小了事实表的大小。 2.便于维度的管理和维护,增加,删除和修改维度的属性,不必对事实表的大量记录进行改动。 3.维度表可以为多个事实表重用,以减少重复工作。 来源: oschina 链接: https://my.oschina.net/u/4085644/blog/3020195

docker 概述

帅比萌擦擦* 提交于 2021-02-17 02:17:27
##docker概述 Docker是一个能够把开发的应用程序自动部署到容器的开源引擎。 Docker也是容器的一种,容器是一种轻量级的虚拟化技术。和容器对应的更为重量级的虚拟化技术是虚拟机。 ##虚拟机和容器对比 虚拟机和容器的区别 相同点: 都可以在不同的主机之间迁移 都具备root权限 都具有备份操作 不同点 虚拟机是硬件级别的虚拟化,容器是操作系统级别的虚拟化。 虚拟机启动需要几分钟,而容器可以达到秒级启动。 一个虚拟机会占用几个GB的磁盘空间,而容器只占用几百MB。 虚拟机的性能要弱于原生系统,而容器的性能接近于原生系统,因为容器底层使用的是宿主机系统。 一台服务器最多支持几十个虚拟机,但是可以支持上千个容器 docker 应用 加速本地开发和构建流程。容器可以在开发环境中构建,然后轻松提交到测试环境中,最终进入生产环境。 能够让应用程序在不同的环境中,得到相同的运行结果 为开发、测试提供一个轻量级的独立沙盒环境。 提供软件即服务应用程序。 高性能、超大规模的宿主机部署。 docker 运行环境 Docker可以运行在任何安装了linux内核的64位CPU的主机上,不支持32位CPU。官方推荐的内核版本是3.8或者更高。 官方推荐在ubuntu或者redhat系列主机中部署Docker 宿主机的内核必须支持一种适合的存储驱动 Device Mapper(默认驱动)

Docker概述

亡梦爱人 提交于 2021-02-17 02:17:07
基本概念 docker简介 什么是docker Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,它是基于 dotCloud 公司多年云服务技术的一次革新,并于 2013 年 3 月以 Apache 2.0 授权协议开源,主要项目代码在 GitHub 上进行维护。Docker 项目后来还加入了 Linux 基金会,并成立推动 开放容器联盟(OCI)。 Docker 自开源后受到广泛的关注和讨论,至今其 GitHub 项目已经超过 4 万 6 千个星标和一万多个 fork。甚至由于 Docker 项目的火爆,在 2013 年底,dotCloud 公司决定改名为 Docker。Docker 最初是在 Ubuntu 12.04 上开发实现的;Red Hat 则从 RHEL 6.5 开始对 Docker 进行支持;Google 也在其 PaaS 产品中广泛应用 Docker。 为什么要用docker 作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势。 更高效的利用系统资源 由于容器不需要进行硬件虚拟以及运行完整操作系统等额外开销,Docker 对系统资源的利用率更高。无论是应用执行速度、内存损耗或者文件存储速度,都要比传统虚拟机技术更高效。因此,相比虚拟机技术,一个相同配置的主机

一、Docker概述与安装

末鹿安然 提交于 2021-02-17 02:16:53
一、概述 官网: https://www.docker.com dockerhub: https://hub.docker.com/ Docker 是一个开源的应用容器引擎,基于Go语言,并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包 他们的应用以及依赖包 到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用 沙箱机制 ,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。 把项目从windows发布到linux环境并不能跨平台,以前发布一个jar或者war,需要在机器上配置redis、mysql、ES、jdk。使用docker后可以带上环境来打包(镜像)。 二、组成 镜像(image) :通过镜像来创建容器,相当于是一个 root 文件系统,创建 Docker 容器的模板。 容器(container) :独立运行应用,是镜像运行时的实体。 仓库(repository) :Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。 三、安装 CentOS的安装文档: https://docs.docker.com/engine/install/centos/ 1、卸载: sudo yum remove docker \ docker-client \ docker