1、sql注入,xss攻击,csrf,

  1. sql注入

    把sql命令插入到web表单,然后提交到所在页面请求,从而达到欺骗服务器执行恶意的sql命令

    解决方法:不要使用动态拼接sql,把指令和数据分开,参数化查询

  2. xss:Cross Site Script 跨站脚本

    web应用中的,一种计算机漏洞。允许恶意用户,将代码(HTML,JS脚本)植入到,给其他用户使用的页面上。

解决方法:
1.相对完整的输入过滤体系(BeautifulSoup,mark_up)
2.web表单对输入做各类校验
3.输出检查
  1. csrf:Cross site request forgery 跨站请求伪造

    伪装成受信任用户,请求并利用受信任的网站
解决:
1.用户登录的时候,将创建一个token,此token存放于session当中
2.验证 HTTP Referer 字段,它记录了该 HTTP 请求的来源地址
3.在 HTTP 头中自定义属性并验证,加上csrftoken

2、你用到django框架能说下其他的框架吗

  1. Django:Django无socket,django的目的是简便,快速开发,并遵循MVC设计,多个组件可以很方便的以“插件”形式服务于整个框架,django有许多功能强大的第三方插件。django具有很强的可扩展性。
  2. Tornado:它是非阻塞式服务器,而且速度相当快,得力于其非阻塞的方式和对epoll的运用,Future对象,

    缺点:没有session,需要自定制
  3. Flask:是一个微型的web框架,配合SQLALchemy来使用,jinja2模板,werkzeug接口

3、项目中,浏览器第一次登陆成功后,第二次打开如何保存登陆信息!

设置session步骤
1. 生成随机字符串adfdasf4334
2. response.set_cokkie("session_id":"adfdasf4334")
3. 在django-session表中创建一条记录:
session-key session-data
adfdasf4334 {"is_login":True,"username":'alex'}

4、cookie及session

cookie:是保留在客户端上面的一组键值对,cookie不是很安全,别人可以分析存放在本地的cookie

session:是保存在服务器上面的一组键值对,依赖与cookie,安全指数比cookie高

5、什么是ORM?

ORM,即Object-Relational Mapping(对象关系映射),它的作用是在关系型数据库和业务实体对象之间做一个映射

ORM优缺点:

优点:摆脱复杂的SQL操作,适应快速开发,让数据结果变得简单,数据库迁移成更低

缺点:性能较差,不适用于大型应用,复杂的SQL操作还需要通过SQL语句实现

6、django的生命周期

1.wsgi, 他就是socket服务端,用于接收用户请求并将请求进行初次封装,然后将请求交给web框架Django
2.中间件,帮助我们对请求进行校验或在请求对象中添加其他相关数据,例如:csrf、request.session
3.路由匹配 根据浏览器发送的不同url去匹配不同的视图函数
4.视图函数,在视图函数中进行业务逻辑的处理,可能涉及到:orm、templates => 渲染
5.中间件,对响应的数据进行处理。
6.wsgi,将响应的内容发送给浏览器

7、用户输入url,如何通过nginx如何与你的django项目进行交互的?

1.首先客户端请求服务资源,
2.nginx作为直接对外的服务接口,接收到客户端发送过来的http请求,会解包、分析,
3.如果是静态文件请求就根据nginx配置的静态文件目录,返回请求的资源,
4.如果是动态的请求,nginx就通过配置文件,将请求传递给uWSGI;uWSGI 将接收到的包进行处理,并转发给wsgi,
5.wsgi根据请求调用django工程的某个文件或函数,处理完后django将返回值交给wsgi,
6.wsgi将返回值进行打包,转发给uWSGI,
7.uWSGI接收后转发给nginx,nginx最终将返回值返回给客户端(如浏览器)。

https://blog.csdn.net/c465869935/article/details/53242126/

8、uwsgi是什么

https://www.cnblogs.com/pengyusong/p/5767899.html

uwsgi是用c语言写的一个webserver,可以启动多个进程,进程里面可以启动多个线程来服务。进程分为主进程和worker进程,worker里面可以有多个线程。

主进程部分:主进程执行部分是一个无限循环,用来管理worker进程

worker部分:在启动woker时可以根据--threads参数指定要产生的线程个数,否则只在当前进程启动一个线程。这些线程循环接收请求并处理。

6、lambda函数用过没
3、说下Linux中的信号量
2、说下如何查看linux系统的配置如何查看?什么时候生效的?
2、如何找出10个目录中最大的那个
3、写个shell脚本
15.awk命令你平常怎么用
2、https你了解吗?非对称密钥还是对称密钥
3、https过程是什么 8.你前端用的bootstrap、jquery,还有用过其他的前端框架吗
5、说下你如何存放用户头像的,数据库中如何存放的,字段是什么? 6、你的uwsgi怎么用的多线程实现的
2、django中,你用的是多线程还是多进程偏多 4、登录如何实现的?不适用modelform,又是如何实现的?
1、登录验证码如何实现的?PIL模块
11、你的项目中你是怎样进行性能调优的?
12.你了解协程吗?你在项目中怎么用的?Event事件
5、登录过程中,用户名与密码如何存储的,在数据库,加盐?暴力破解怎么办?
6、图片验证码如何实现的?
7、django中的MVC是什么?
8、ORM是什么,有什么用?如何查询的,下划线,F,Q、
10、xss攻击是什么,如何预防的?mark_up,beautiful,标签过滤?教育类平台网站,就是要实现这种效果,如何实现?
8、你的项目中,数据库如何设计的?表如何存取的?
13.项目中,你的静态文件怎么处理的,放在哪里的?
14.如果服务器出现问题的话,如何处理呢?中间件404?
9、说下你的项目中,用到了什么技术,挑一个你觉得最好的讲下
10、能说下你的项目中遇到的一个最大的问题吗,还有你是怎样解决的?
11、你了解哪些安全漏洞?
1、restful编码规范 2、在你工作与学习中你遇到的最大的问题是什么,怎么解决的?
3、说下对于这份工作,你的优势与劣势?
12、实习公司是什么?你主要做什么工作呢?有没有遇到过什么安全问题?
14、读过什么书?技术上的? 10.你了解redis吗?redis的事务如何来实现? 5.链表如果有环的话,如何检测出来
(两个指针a,b,一个步长1,一个步长2) 6.有个文件,里面有单词与单词的次数。
word 1
hello 2
python 3
linux 4
如何统计出每个文件的次数,并且排序出?

07-django项目的更多相关文章

  1. Docker部署Django项目+Nginx+Fluend日志收集 和redis、memcached、RabbitMQ、Celery

    前言 一.docker 1.docker是什么? Docker的英文本意是“搬运工”,Docker搬运的是集装箱(Container)可以成为容器,我可以把写的Django的WEB应用以及Python ...

  2. CentOS 6.8 部署django项目一

    CentOS 6.8 部署django项目二 1.安装python3.5(默认是2.6) 参考:http://blog.csdn.net/shaobingj126/article/details/50 ...

  3. 07: Django 使用ldap登录、注销等

    目录:Django其他篇 01:Django基础篇 02:Django进阶篇 03:Django数据库操作--->Model 04: Form 验证用户数据 & 生成html 05:Mo ...

  4. 发布django项目

    supervisor需要用到的技术 1. nginx反向代理 2. nginx负载均衡 3. uwsgi 4. supervisor 5. virtualenv 安装nginx 详情参考 https: ...

  5. 零基础入门Python实战:四周实现爬虫网站 Django项目视频教程

    点击了解更多Python课程>>> 零基础入门Python实战:四周实现爬虫网站 Django项目视频教程 适用人群: 即将毕业的大学生,工资低工作重的白领,渴望崭露头角的职场新人, ...

  6. Linux--部署Django项目

    简单部署 1.安装虚拟环境virtualenvwrapper,创建虚拟环境目录,进入虚拟环境,我的虚拟环境目录叫venv2 [root@HH ~]# workon venv2 (venv2) [roo ...

  7. Django项目在Linux服务器上部署和躺过的坑

    引言 在各方的推荐下,领导让我在测试环境部署之前开发的测试数据预报平台.那么问题来了,既然要在服务器上部署, 就需要准备: 1.linux服务器配置 2.linux安装python环境搭建与配置 3. ...

  8. Nginx+Uwsgi+Django 项目部署到服务器。

    首先先说一下思路: 1.本地django项目打包 主要用到的是 python自带的distutils.core 下的 setup,具体代码在下面,主要讲的两个问题是package主要打包为和目录同级的 ...

  9. k8s-生产环境部署django项目k8s-dashboard管理系统

    1. k8s-生产环境部署django项目k8s-dashboard管理系统 gitee地址: https://gitee.com/scajy/django-k8s-dashboard.git 部署架 ...

  10. centos7 apache httpd安装和配置django项目

    一.安装httpd服务 apache在centos7中是Apache HTTP server.如下对httpd的解释就是Apache HTTP Server.所以想安装apache其实是要安装http ...

随机推荐

  1. 【SPL标准库专题(9)】 Datastructures:SplObjectStorage

    PHP SPL SplObjectStorage是用来存储一组对象的,特别是当你需要唯一标识对象的时候. PHP SPL SplObjectStorage类实现了Countable,Iterator, ...

  2. python自学——文件打开

    #文件的打开 新建一个文件new file.txt #方法一:f=open("yesterday","r",encoding="utf-8" ...

  3. postgresql 获取所有表名、字段名、字段类型、注释

    获取表名及注释: select relname as tabname,cast(obj_description(relfilenode,'pg_class') as varchar) as comme ...

  4. linux操作系统不重启添加raid0步骤

    1.限制:本步骤仅适用于LSI芯片的raid卡,可以通过以下蓝色指令判断是否LSI芯片 [root@HKC-Lab-CDN ~]# lspci | grep -i lsi 03:00.0 RAID b ...

  5. /etc/resolv.conf服务器客户端DNS重要配置文件

    DNS客户端配置文件:etc/resolv.conf /etc/resolv.conf文件相当于windows如下图: 当然/etc/resolv.conf文件为辅助配置DNS文件,其实在网卡里也可以 ...

  6. 实现CTreeCtrl父子节点的联动选择

    本文实现了下面的功能: 当选中父节点时, 其所有子节点全部选中. 当取消选中父节点时, 其所以子节点全部取消选中. 点击子节点时, 根据子节点与其兄弟节点的选中状态, 自动设置父节点的选中状态. 通过 ...

  7. form表单中使用a标签代替button或commit进行数据提交

    1.申明form的id:xxx 2.在<a>标签内书添加属性 onclick="document:xxx.submit()" ​

  8. vsftp配置

    网上很多,但我还是想再整理一份属于自己的 1.vsftp简介 vsftp提供三种登陆方式:.匿名登录 .本地用户登录 .虚拟用户登录 vsftpd的特点:.较高的安全性需求 .带宽的限制 .创建支持虚 ...

  9. 读高性能JavaScript编程 第四章 Conditionals

    if else 和 switch    &&    递归 if else 和 switch 一般来说,if-else 适用于判断两个离散的值或者判断几个不同的值域.如果判断多于两个离散 ...

  10. Android Handler 内存泄漏,文末消息机制的小总结

    1. 内存泄漏的Activity public class MainActivity extends AppCompatActivity { private static final int MESS ...