生成用户令牌(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
定时任务 + 异步任务
下订单就是一个可以推迟执行的任务 不需要马上返回订单受理的结果 而且下订单的系统和受理订单的系统可以是两套程序(消息的生产者和消息的消费者)分别运转在不同的服务器上
项目中可能会遇到执行时间无法预期的任务(比如调用三方平台)和不需要马上给出执行结果的任务,这两种任务都应该放到消息队列中,受理用户请求的程序作为消息的生产者将用户请求放入消息队列,稍后由消息的消费者会从消息队列中取出任务进行处理