Amadeus's Studio.

web安全,celery

字数统计: 624阅读时长: 2 min
2019/02/28 Share

生成用户令牌(token)

-哈希码 - MD5/SHA1
-UUID - 全局唯一标识符
-JWT - Json web Token - djangorestframework-jwt

1、防表单重复,每一次请求刷新令牌
2、跨站身份网站伪造 - CSRF、XSRF

##XSS - 跨站脚本攻击 - 消毒
用户评论时输入的是 js脚本代码,发送后就会执行,所以要将特殊字符转换
1、清理用户输入,过滤js代码,过滤特殊字符
​ [1] <>(尖括号) [5] ;(分号)
​ [2] “(引号) [6] ()(括号)
​ [3] ‘(单引号) [7] &(& 符号)
​ [4] %(百分比符号) [8] +(加号)
2、使用HttpUitility及AntiXSSLibrary类库中的方法对html代码进行处理

1
赋值不会弹框 this.lblName.Text = Encoder.HtmlEncode(<script>alert('OK');</script>");

浏览器自作聪明识别 设置nosniff

SQL注入攻击

不允许单引号拼接SQL语句,不要使用管理员权限的数据库连接,不要使用动态拼接sql

点劫持攻击 - click-hacking - X_FRAME_OPTIONS = DENY

浏览器iframe标签嵌套其他网页,并社会透明度为0

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

SPA - 单页应用 -Single Page Application

http://www.cnblogs.com/derek1184405959/p/8722212.html

web应用优化的两大定律:

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

消息队列使得任务可以异步化的处理

同步 - 阻塞
异步 - 非阻塞

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

要使用Celery(有汉化文档)需要为其配置队列服务 - RabbitMQ(推荐)/Redis
定时任务 + 异步任务

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

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

CATALOG
  1. 1. 生成用户令牌(token)
  2. 2. SQL注入攻击
  3. 3. 点劫持攻击 - click-hacking - X_FRAME_OPTIONS = DENY
  4. 4. web应用优化的两大定律:
    1. 4.1. 消息队列使得任务可以异步化的处理
    2. 4.2. Celery - 既可以充当消息的生产者也可以充当消息的消费者