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 subprocess pipe 实时输出日志

    * test11.py import time print "1" time.sleep(2) print "1" time.sleep(2) print &q ...

  2. 为什么不建议给域名裸域添加CNAME记录

    很多提供权威 DNS 解析的服务商都不提供域名裸域又叫根域(root record)的 CNAME 解析,有些即使提供了也会在你添加裸域的 CNAME 记录时给你一个警告提醒. 万网的权威 DNS 解 ...

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

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

  4. 认识与入门 MarkDown 标记语言

    一.MarkDown 概念: 一种轻量级的标记语言,标记符号不超过十个,现有很多支持MarkDown语法的编辑器以及网站.Markdown从写作到完成,导出格式随心所欲,可以导出HTML,也可以导出P ...

  5. Dictionary CovertTo List

    示例代码 假设有如下一个Dictionary 要转换成List Dictionary<string, string> dicNumber = new Dictionary<strin ...

  6. <button>与<input type="button">

    在做form表单,点击按钮随机生成两串密钥的时候 1.用第一种按钮的时候,会出现刷新form表单的现象.会把创建密钥前面的输入框中的字消失.虽然能生成密钥1和密钥2,但是会闪一下,随即消失.几个输入框 ...

  7. MySQL基础之 排序与限制,聚合

    排序与限制 ORDER BY 作用:取出按照某个字段进行排序后的记录结果集. 配合:常与DESC  和ASC一块使用:默认是ASC,表示升序.DESC表示降序 LIMIT 作用:用于显示数据的一部分记 ...

  8. October 10th 2017 Week 41st Tuesday

    If you focus on what you left behind you will never see what lies ahead. 如果你只顾回头看,那么你永远也看不见前方有什么. Ye ...

  9. SDN期末作业——负载均衡

    作业链接 期末作业 1.负载均衡程序 代码 2.演示视频 地址 3.小组分工 小组:incredible five 构建拓扑:俞鋆 编写程序:陈绍纬.周龙荣 程序调试和视频录制:陈辉.林德望 4.个人 ...

  10. 【转】PHP解析带CDATA的XML方法

    XML文件,如下 <xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName& ...