web服务器

认证和权限

2018-12-09  本文已影响23人  GHope

生成用户令牌(token)

XSS - 跨站脚本攻击 - 消毒
hack.js ---> hack.jpg ---> <img src="hack.jpg">
nosniff

&lt;script&gt;
    (funciton(){})()
&lt;/script&gt;

uid = "jackfrued"
pwd = " ' or '1'='1"

select * from tb_user where username='jackfrued' and password=' ' or '1'='1'

cursor.execute('...', (a, b, c))

Authentication - 认证 - 能否访问资源
Authorization - 授权 - 能否对特定的资源进行特定的操作

密码原文 ---> 加盐 ---> 生成哈希摘要

SPA - 单页应用 - Single Page Application
Vue.js / AngularJS

Web应用优化的两大定律:

  1. 使用缓存 - 数据量不大 - 热点数据 - 数据(值)不会频繁修改
  2. 能推迟的事情都不马上做 - 消息队列 - 削峰 / 上下游节点解耦合

消息队列使得任务可以异步化的处理
同步 - 阻塞
异步 - 非阻塞

Celery - 既可以充当消息的生产者也可以充当消息的消费者

定时任务 + 异步任务

要使用Celery需要为其配置队列服务 - RabbitMQ / Redis

下订单就是一个可以推迟执行的任务 不需要马上返回订单受理的结果 而且下订单的系统和受理订单的系统可以是两套程序(消息的生产者和消息的消费者) 分别运转在不同的服务器上

项目中可能会遇到执行时间无法预期的任务(比如调用三方平台)和不需要马上给出执行结果的任务,这两种任务都应该放到消息队列中,受理用户请求的程序作为消息的生产者将用户请求放入消息队列,稍后由消息的消费者会从消息队列中取出任务进行处理

上一篇 下一篇

猜你喜欢

热点阅读