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. python unnitest 经验总结

    由于我的用例是数据驱动,每个用例保存为一个txt或者xls文件,执行时候需要读取文件,并将所有变量实例化成一个用例: 之前自己设计了框架,由于考虑需要生成一个美观通用的报告格式(原格式都是手写的htm ...

  2. jquery中ajax的dataType的各种属性含义

    参考ajax api文档:http://www.w3school.com.cn/jquery/ajax_ajax.asp dateType后接受的参数参数类型:string 预期服务器返回的数据类型. ...

  3. python 多进程和多线程的区别

    了解线程和进程 进程 程序:磁盘上的可执行二进制文件,并无运行状态. 进程:就是一个正在运行的任务实例(存活在内存里). 获取当前电脑的CPU核心数: pip install psutil >& ...

  4. Django之MVC与MTV

    MVC框架 MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写 模型 - 视图 - 控制器是一种通常用于开发用户界面的 ...

  5. C语言中的数组与指针

    1. 数组的初始化 数组的初始化方法有很多,常用的方法有 定义时初始化 ]={,,}; 或 ]={}; //未初始化的元素全为0: 定义后遍历赋值初始化 int arr[3]; for(int i=0 ...

  6. fedora安装字体

    #fedora安装新字体 将自己现有的字体复制到/usr/share/fonts/自己起个名字/ 例如我要安装下载的苹果苹方字体 #cp 我这个文件夹的地址/* /usr/share/fonts/Pi ...

  7. Excel思考问题的方式

    Excel思考问题的方式 一.写需求,说我要什么数据 好比如,现在咱们需要将第一周.第二周.第三周.第四周.….等E:E列里的"每一周的 第二个数值"提取出来.那么我们手动提取了几 ...

  8. 【Ansible 文档】【译文】Windows 支持

    see also:List of Windows Modules Windows Support Windows 支持 Windows: How Does It Work Windows:如何工作 正 ...

  9. 元素视差方向移动jQuery插件-类似github 404页面效果

    原文地址:http://www.xuanfengge.com/shake.html 前言: 视差滚动,大家也许并不陌生.但是对于视差方向移动,你是否有见过效果呢?看官请进来瞧瞧~ demo : 轩枫阁 ...

  10. 3.3 线程---Handler消息传递机制浅析

    Handler的执行流程图: 当我们的子线程想修改Activity中的UI组件时,我们可以新建一个Handler对象,通过这个对象向主线程发送信息;而我们发送的信息会先到主线程的MessageQueu ...