web开发
文章平均质量分 82
月守护
卡拉卡拉
展开
-
IO多路复用
IO多路复用用在单线程里,实现并发效果。但其实属于同步IO范畴,是伪并发常用于网络通信,和socket搭配使用第一种:import socketimport selectimport timesk=socket.socket()sk.bind(("127.0.0.1",9904))sk.listen(5)while True: r,w,e=select.select([s...原创 2019-07-30 01:38:41 · 123 阅读 · 0 评论 -
nginx传递真实客户端ip
问题我们在用nginx做反向代理的时候,通常会遇到一个问题:服务端解析请求时拿到的都是nginx代理服务器的ip,而不是真实的客户端ip这对我们的业务处理或许存在一些问题,比如鉴权和限流等反向代理HTTP这里介绍nginx在反向代理http服务时如何获取客户端真实ip配置中添加proxy_set_header Remote_addr $remote_addr;完整示例配置如下:worker_processes auto;error_log /var/log/nginx/error.原创 2021-04-08 17:58:16 · 3189 阅读 · 0 评论 -
nginx实战
nginx概述Nginx,一种高性能的http服务器软件。俄国人发明,与httpd相比,它的特点是并发能力强,资源消耗小。其他常见的http服务端软件还有:Httpd和IISHttpd就是Apache,IIS是“微软”的产品,是Windows Server中默认提供的http服务器。nginx安装centos通过nfinx官网的yum源安装稳定版1.安装先决条件:sudo yum i...原创 2021-03-08 17:28:54 · 168 阅读 · 0 评论 -
jwt是什么
简介JSON Web Tokens,是一种开发的行业标准 RFC 7519 ,用于安全的表示双方之间的声明。目前,jwt广泛应用在系统的用户认证方面,特别是在前后端分离项目中。附加链接:为什么要有认证及其实现方式1. jwt认证流程在项目开发中,一般会按照上图所示的过程进行认证,即:用户登录成功之后,服务端给用户浏览器返回一个token,以后用户浏览器要携带token再去向服务端发送请求...原创 2020-01-09 10:53:42 · 469 阅读 · 0 评论 -
高性能负载均衡架构知识点
高性能负载均衡 | 小马过河 <div class="headband"></div><header id="header" class="header" itemscope itemtype="http://schema.org/WPHead...转载 2019-11-07 11:22:55 · 139 阅读 · 0 评论 -
Cache 和 Buffer 都是缓存,主要区别是什么?
提到这个问题,可能意味着题主意识到了两者的相关性。的确,他们确实有那么一些联系。首先cache是缓存,buffer是缓冲,虽然翻译有那么一个字的不同,但这不是重点。个人认为他们最直观的区别在于cache是随机访问,buffer往往是顺序访问。虽然这样说并没有直击本质,不过我们可以待分析完毕之后再来讨论真正的本质。为了说明这个问题,让我将他们分开来说:read cache(读缓存),read ...转载 2019-11-06 13:42:36 · 138 阅读 · 0 评论 -
认证
因为HTTP协议是无状态的,所以互联网服务离不开用户认证。一般流程是下面这样:1、用户向服务器发送用户名和密码。2、服务器验证通过后,在当前对话(session)里面保存相关数据,比如用户角色、登录时间等等。3、服务器向用户返回一个 session_id,写入用户的 Cookie。4、用户随后的每一次请求,都会通过 Cookie,将 session_id 传回服务器。5、服务器收到 s...原创 2019-08-27 16:46:55 · 164 阅读 · 0 评论 -
为什么要有认证及其实现方式
在前后端分离开发时为什么需要用户认证呢?原因是由于HTTP协定是不储存状态的(stateless),这意味着当我们透过帐号密码验证一个使用者时,当下一个request请求时...转载 2019-08-26 19:28:52 · 587 阅读 · 0 评论 -
从支持协议和支持的工作模式来解析【python】web框架第二部分
先上第一部分:https://blog.csdn.net/csdniter/article/details/98500422第一部分是从支持协议出发,接着第二部分从工作模式出发:这里指的是单线程下的工作模式,分为同步模式和异步非阻塞模式,两者的公共点是都能同时接受多个请求并处理,只是处理方式不同Django只支持同步模式Tornado两种都支持先说什么是同步模式:指的是一个请求到...原创 2019-08-05 23:44:23 · 92 阅读 · 0 评论 -
从支持协议和支持的工作模式来解析【python】web框架第一部分
以python web框架里面具有代表性的Django和Tornado为例web框架从支持协议上可以分为http协议和websocket协议只用单线程,工作模式上分为同步阻塞模式和异步非阻塞模式Tornado包含以上所有的支持协议和工作模式Django当然支持http协议,也可通过chanels支持websocket协议。是同步阻塞工作模式,不支持异步非阻塞。但实际使用感觉django也是...原创 2019-08-05 18:10:26 · 126 阅读 · 0 评论 -
XSS攻击
Django中XSS攻击就是跨站脚本攻击,就是利用HTML对页面进行恶意的标签渲染,从而达到攻击网站的效果,更严重的情况是直接获取用户信息,对网站造成巨大损失。比如在评论中注入js代码<script>alert(123)</script>,如果网站没有做XSS防护攻击,在显示这条评论的页面会执行js代码,如果网站做了XSS攻击防护,会显示成字符串只不过Django自动帮...原创 2019-07-17 22:40:39 · 111 阅读 · 0 评论 -
requests模块模拟浏览器客户端发送数据
requests模拟端import requests##GET方式发送请求# requests.get(url='http://127.0.0.1:8090/requests/?k1=123')# #or# requests.get(# url='http://127.0.0.1:8090/requests/',# params={"k1":"234"}# )...原创 2019-07-17 20:28:14 · 363 阅读 · 0 评论 -
初识sql注入
初次认识sql注入是在Django的ORM里用原生sql,如下:from django.db import connection, connectionscursor = connection.cursor() # cursor = connections['default'].cursor()cursor.execute("""SELECT * from auth_user where ...原创 2019-07-18 14:56:36 · 122 阅读 · 0 评论 -
【Python】验证码
我们都知道验证码是一张图片,这样程序自动识别的难度大,安全性高。设计到图片,先来看一下img标签里的src属性,也是实现验证码的一个小原理我们都知道src属性可以直接把图片拿过来:比如说拿到本地的图片<img src="/static/timg.jpg" alt=""> 就在直接可以显示在页面上那它是怎么实现的呢?其实src属性同样像服务端发送了一个请求,Django服务端...原创 2019-07-11 15:35:09 · 219 阅读 · 0 评论 -
Cookie & Session
首先浏览器和万维网服务器之间相互通信的规则是HTTP协议。而HTTP协议是无状态的,虽然HTTP协议是基于TCP协议的,但却不像TCP协议那样有链接,也就是浏览器第二次访问服务器,服务器根本不知道你之前访问过。但是有很多需求都是要保留状态的,比如登录等等,这时候需要Cookie和Session,它们是保留状态的一种技术。不限语言和框架**cookie的工作原理**是:由服务器产生内容,浏览器...原创 2019-07-11 14:48:36 · 84 阅读 · 0 评论