服务器端

Web安全

橙三吉。 提交于 2020-04-04 06:55:19
Web中常见的攻击方式:   XSS跨站脚本攻击   DDoS分布式拒绝服务攻击   Server limit DoS HTTP头超长导致无法访问 攻击类型:   反射型:发出请求时,XSS代码出现在URL中,做为输入提交到服务器端,服务器端解析后响应,XSS代码随响应内容一起传回给浏览器,最后浏览器解析执行XSS代码,这个过程像一次反射,故叫做反射型。   存储型:存储型XSS和反射型XSS的差别仅在于,提交的代码会存储在服务器端(数据库、内存、文件系统等),下次请求页面时不用再提交XSS代码。 防御措施:   编码:对用户输入的数据进行html实体转义   过滤:移除用户上传的DOM属性,如onerror等,移除用户上传的style节点、script节点、iframe节点等能引入其他页面资源的标签等   校验:避免直接对html转义符实体解码,使用DOM parse转换,校正不配对的DOM标签 来源: https://www.cnblogs.com/jyuf/p/6724476.html

Windows Socket编程简介

喜欢而已 提交于 2020-04-03 22:16:03
WinSock编程 使用WinSock API的编程,应该了解TCP/IP的基础知识。虽然你可以直接使用WinSock API来写网络应用程序,但是,要写出优秀的网络应用程序,还是必须对TCP/IP协议有一些了解的。 1. TCP/IP协议与WinSock网络编程接口的关系 WinSock并不是一种网络协议,它只是一个网络编程接口,也就是说,它不是协议,但是它可以访问很多种网络协议,你可以把他当作一些协议的封装。现在的WinSock已经基本上实现了与协议无关。你可以使用WinSock来调用多种协议的功能。那么,WinSock和TCP/IP协议到底是什么关系呢?实际上,WinSock就是TCP/IP协议的一种封装,你可以通过调用WinSock的接口函数来调用TCP/IP的各种功能.例如我想用TCP/IP协议发送数据,你就可以使用WinSock的接口函数Send()来调用TCP/IP的发送数据功能,至于具体怎么发送数据,WinSock已经帮你封装好了这种功能。 2、TCP/IP协议介绍 TCP/IP协议包含的范围非常的广,他是一种四层协议,包含了各种硬件、软件需求的定义。 TCP/IP协议确切的说法应该是TCP/UDP/IP协议。UDP协议(User Datagram Protocol 用户数据报协议),是一种保护消息边界的,不保障可靠数据的传输。TCP协议(Transmission

Linux反空闲设置的两种方法

一个人想着一个人 提交于 2020-04-02 08:22:29
为了增强Linux系统的安全性,我们需要在用户输入空闲一段时间后自动断开,这个操作可以由设置TMOUT值来实现。或者使用客户端工具,例如securecrt连接linux服务器,有的会出现过一段时间没有任何操作,客户端与服务器就断开了连接。造成这个的原因,主要是因为客户端与服务器之间存在路由器,防火墙以及为了本身的安全性,在超过特定的时间后就会把空闲连接断开。或者是服务器端设置了断开空闲连接。那么解决的方法有两种,一是从服务器着手,一是在客户端工具上下手。 方式一:设置服务器端 1、echo $TMOUT 如果显示空白,表示没有设置,等于使用默认值0, 一般情况下应该是不超时. 如果大于0,可以在如/etc/profile或者~/.bash_profile之类文件中设置它为0. Definition: TMOUT: If set to a value greater than zero, the value is interpreted as the number of seconds to wait for input after issuing the primary prompt. Bash terminates after waiting for that number of seconds if input does not arrive readonly TMOUT #

TCP协议的三次握手和四次挥手

谁说胖子不能爱 提交于 2020-04-02 05:19:36
             TCP协议的三次握手和四次挥手 我们知道,TCP是主机对主机层的传输控制协议,提供可靠的连接服务,需要三次握手建立连接,而终止一个连接要经过四次挥手。 三次握手 第一次握手:客户端申请连接(SYN=1),发送seq=x的数据包,等待服务器确认。 第二次握手:服务器端申请连接(SYN=1),确认收到客户端的申请(ACK=1).;服务器期望下次收到x+1数据包(ack=x+1),发送seq=y的数据包。 第三次握手:客户端确认收到请求(SYN=1),发送服务器期望的数据包(y+1),完成连接。 四次挥手 第一次挥手:客户端请求断开连接(FIN=1),发送数据(seq=u)。 第二次挥手:确认收到请求(ACK=1),期望收到数据包(ack=u+1),发送数据(seq=v)。 第三次挥手:服务器申请断开连接(FIN=1),确认收到你之前的请求(ACK=1);期望收到数据(ack=u+1),发送数据(seq=w)。 第四次挥手:确认收到请求(ACK=1),发送数据(seq=u+1),断开连接。 为什么需要三次握手?    如果不采用“三次握手”,那么只要服务器发出确认,新的连接就建立了。由于现在客户端并没有发出建立连接的请求,因此不会理睬服务器的确认,也不会向服务器发送ACK包,但是服务端确认为新的连接开始了,等待客户端发数据,这样就会白白浪费资源。而经过三次握手

linux安装redis

ぐ巨炮叔叔 提交于 2020-03-31 12:31:35
1 。进入根目录 wget http://download.redis.io/releases/redis-3.0.2.tar.gz (下载完成之后就在根目录下,是个压缩包) 解压 tar -xvf redis-3.0.2.tar.gz 解压完成之后也在根目录 包名就是redis-3.0.2 编译 ,因为里面的程序都是用C编写的,需要编译才能被LINUX执行 。进入解压之后的包redis-3.0.2,编译指令 :make 4 编译完成之后会在 redis-3.0.2/src 里面生成一堆文件 5 安装: 在 redis-3.0.2/里面执行 make PREFIX=/usr/local/redis install 指定安装位置在/usr/local/redis目录下 安装完成之后 /usr/local/redis/bin 里面有若干文件,其中 redis-server 是服务器端程序,redis-cli是客户端程序 配置 回到根目录进入 redis-3.0.2/ 里面有个配置文件 redis.conf 需要移动到 usr/local/redis 里面 cp redis.conf /usr/local/redis 完成之后进入 /usr/local/redis 可以看到跟bin目录同级存在的有个redis.conf ==================================

SVN的学习

生来就可爱ヽ(ⅴ<●) 提交于 2020-03-31 02:55:19
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于CVS,它采用了分支管理系统,它的设计目标就是取代CVS 为什么需要SVN 通常软件开发由多人协作开发,如果对代码文件、配置文件、文档等没有进行版本控制,将会出现很多问题: 备份多个版本,占用磁盘空间大 解决代码冲突困难 容易引发BUG 难于追溯问题代码的修改人和修改时间 难于恢复至以前正确版本 无法进行权限控制 项目版本发布困难 所以我们需要使用版本控制工具,SVN的作用正是在于多人协作,版本回退等等问题上。SVN的使用较为简单,而且可以跨平台使用,属于C/S结构的软件,需要客户端和服务器端,一般来说应该是一台服务器或电脑作为服务器端,我们在服务器端中建立仓库,但是为了学习方便我们在本机即模仿客户端又模仿服务器端。 客户端下载地址:https://tortoisesvn.net/downloads.html 服务器端下载地址:https://www.visualsvn.com/downloads/ 服务器端安装 基本上和安装一般软件一样,一路next即可,但是需要注意以下几点: 这个端口号默认使用443,也可以使用8443这个备用端口号 如果两个端口都有冲突,我们可以找到端口是哪个程序,把程序进程停止 在CMD中使用命令: 找到占用端口的程序的PID : 我们在任务管理器,找到pid值,停止掉就行了

ftp的主动模式(port)与被动模式(PASV)

雨燕双飞 提交于 2020-03-31 02:10:23
转自: http://www.phpweblog.net/killjin/archive/2008/01/06/2653.html 目录 开场白 基础 主动FTP 主动FTP的例子 被动FTP 被动FTP的例子 总结 参考资料 开场白 处理防火墙和其他网络连接问题时最常见的一个难题是主动FTP与被动FTP的区别以及如何完美地支持它们。幸运地是,本文能够帮助你清除在防火墙环境中如何支持FTP这个问题上的一些混乱。 本文也许不像题目声称的那样是一个权威解释,但我已经听到了很多好的反馈意见,也看到了本文在许多地方被引用,知道了很多人都认为它很有用。虽然我一直在找寻改进的方法,但如果你发现某个地方讲的不够清楚,需要更多的解释,请告诉我!最近的修改是增加了主动FTP和被动FTP会话中命令的例子。这些会话的例子应该对更好地理解问题有所帮助。例子中还提供了非常棒的图例来解释FTP会话过程的步骤。现在,正题开始了... 基础 FTP是仅基于TCP的服务,不支持UDP。 与众不同的是FTP使用2个端口,一个数据端口和一个命令端口(也可叫做控制端口)。通常来说这两个端口是21-命令端口和20-数据端口。但当我们发现根据(FTP工作)方式的不同数据端口并不总是20时,混乱产生了。 主动FTP 主动方式的FTP是这样的:客户端从一个任意的非特权端口N(N>;1024)连接到FTP服务器的命令端口

Asp.net服务器控件编程(1) 开篇、基础

流过昼夜 提交于 2020-03-29 19:09:58
在园子里也大概搜了下,thinhunan写过一个系列《今天你写控件了吗》,写的也很不错。但是我还是下定决心写这个系列的文章,以完成Component和Control的一个完整的系列。 有朋友给我说:Asp.net之所以方便和强大,关键是它有一组强大的Asp.net服务器控件,在Asp.net中我们经常会遇到Html标注,Html服务器控件、Web控件和Asp.net服务器控件等等,你能区分出它们之间的关系吗?那我们首先来区分下Asp.net开发中经常用到的几个概念,Html标注、Html服务器控件、Web控件和Asp.net服务器控件, Html标注:就是我们传统所说的Html 超文本标记语言,这些Html标注在以往的静态网页或网页里即可满足我们的需求,Html标注并没有办法利用程序直接来控制它们的属性、使用方法和接收事件,我们必须另外学习其它如JavaScript 等程序语言才得以控制。如:<input id="Button1" type="button" value="button" />。 Html服务器控件:就是上面我们讲的Html标注的属性里加上runat="server"所构成的控件,至于Html标注和Html服务器控件之间的区别很明显,Html服务器控件是运行于服务器端,Html标注是运行于客户端。具体来说:当ASP.NET 网页执行时,会检查标注有无runat 属性

VS.NET(C#)--2.1认识控件

只谈情不闲聊 提交于 2020-03-29 19:08:29
Web控件 四种控件 1.HTML控件 2.HTML服务器控件 在服务器端执行 3.ASP.NET服务器控件 在服务器端执行 4.用户控件和自定义控件 用户自定义控件在服务器端执行 注意:HTML控件设置属性比较困难,ASP.NET则较简单 了解控件 1.表单元素控件:文本框、标签、按钮、复选框、列表框 2.验证控件 3.数据源控件 4.数据视图控件 5.个性化控件 6.登录控件和安全控件 7.母版页 8.富控件 菜单、树形视图、向导等特殊功能 优点: 1.ASP.NET检查目标浏览器版本,高版本的(启用DHTML)则将版本发送到客户端处理。低版本的(老式浏览器)所有处理都在服务器端中完成。 2.每种不同的浏览器生成合适的HTML 3.控件事件在浏览器端触发,使用服务器端代码处理 4.编译型语言代替脚本语言 来源: https://www.cnblogs.com/ximi07/p/10867532.html

VS.NET(C#)--2.8HTML服务器控件

核能气质少年 提交于 2020-03-29 19:08:15
HTML服务器控件 服务器不处理HTML控件,例如:<h1>、<a>超链接、<input>,直接送到客户端,由浏览器呈现。 把HTML控件转换成HTML服务器控件,则服务器端就可以处理了。添加id和runat属性即可。 HTML控件 < input type ="text" size = "40" /> HTML服务器控件 < input id ="Book Title" type ="text" size ="40" runat ="server" /> 两个主要原因会用到HTML服务器控件 1.为了在ASP.NET下运行,转换现有的HTML页 2.使用HTML表格实现页面布局 服务器端控件消耗服务器CPU计算资源,通常页面使用静态表格实现布局,无需服务器端处理,节约计算资源。 来源: https://www.cnblogs.com/ximi07/p/10860373.html