07-django项目
1、sql注入,xss攻击,csrf,
sql注入
把sql命令插入到web表单,然后提交到所在页面请求,从而达到欺骗服务器执行恶意的sql命令
解决方法:不要使用动态拼接sql,把指令和数据分开,参数化查询xss:Cross Site Script 跨站脚本
web应用中的,一种计算机漏洞。允许恶意用户,将代码(HTML,JS脚本)植入到,给其他用户使用的页面上。
解决方法:
1.相对完整的输入过滤体系(BeautifulSoup,mark_up)
2.web表单对输入做各类校验
3.输出检查
- csrf:Cross site request forgery 跨站请求伪造
伪装成受信任用户,请求并利用受信任的网站
解决:
1.用户登录的时候,将创建一个token,此token存放于session当中
2.验证 HTTP Referer 字段,它记录了该 HTTP 请求的来源地址
3.在 HTTP 头中自定义属性并验证,加上csrftoken
2、你用到django框架能说下其他的框架吗
- Django:Django无socket,django的目的是简便,快速开发,并遵循MVC设计,多个组件可以很方便的以“插件”形式服务于整个框架,django有许多功能强大的第三方插件。django具有很强的可扩展性。
- Tornado:它是非阻塞式服务器,而且速度相当快,得力于其非阻塞的方式和对epoll的运用,Future对象,
缺点:没有session,需要自定制 - 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项目的更多相关文章
- Docker部署Django项目+Nginx+Fluend日志收集 和redis、memcached、RabbitMQ、Celery
前言 一.docker 1.docker是什么? Docker的英文本意是“搬运工”,Docker搬运的是集装箱(Container)可以成为容器,我可以把写的Django的WEB应用以及Python ...
- CentOS 6.8 部署django项目一
CentOS 6.8 部署django项目二 1.安装python3.5(默认是2.6) 参考:http://blog.csdn.net/shaobingj126/article/details/50 ...
- 07: Django 使用ldap登录、注销等
目录:Django其他篇 01:Django基础篇 02:Django进阶篇 03:Django数据库操作--->Model 04: Form 验证用户数据 & 生成html 05:Mo ...
- 发布django项目
supervisor需要用到的技术 1. nginx反向代理 2. nginx负载均衡 3. uwsgi 4. supervisor 5. virtualenv 安装nginx 详情参考 https: ...
- 零基础入门Python实战:四周实现爬虫网站 Django项目视频教程
点击了解更多Python课程>>> 零基础入门Python实战:四周实现爬虫网站 Django项目视频教程 适用人群: 即将毕业的大学生,工资低工作重的白领,渴望崭露头角的职场新人, ...
- Linux--部署Django项目
简单部署 1.安装虚拟环境virtualenvwrapper,创建虚拟环境目录,进入虚拟环境,我的虚拟环境目录叫venv2 [root@HH ~]# workon venv2 (venv2) [roo ...
- Django项目在Linux服务器上部署和躺过的坑
引言 在各方的推荐下,领导让我在测试环境部署之前开发的测试数据预报平台.那么问题来了,既然要在服务器上部署, 就需要准备: 1.linux服务器配置 2.linux安装python环境搭建与配置 3. ...
- Nginx+Uwsgi+Django 项目部署到服务器。
首先先说一下思路: 1.本地django项目打包 主要用到的是 python自带的distutils.core 下的 setup,具体代码在下面,主要讲的两个问题是package主要打包为和目录同级的 ...
- k8s-生产环境部署django项目k8s-dashboard管理系统
1. k8s-生产环境部署django项目k8s-dashboard管理系统 gitee地址: https://gitee.com/scajy/django-k8s-dashboard.git 部署架 ...
- centos7 apache httpd安装和配置django项目
一.安装httpd服务 apache在centos7中是Apache HTTP server.如下对httpd的解释就是Apache HTTP Server.所以想安装apache其实是要安装http ...
随机推荐
- windows 服务器MYSQL 数据库安装配置
一.到官网下载MYSQL 打开官网地址:www.mysql.com, 选择 DOWNLOADS,进入到MySQL的下载页面,在页面的底部有一个MySQL Community Edition, 并且下面 ...
- selenium 校验文件下载成功
转自: http://www.seleniumeasy.com/selenium-tutorials/verify-file-after-downloading-using-webdriver-jav ...
- 调整 Windows VM 的大小
本文说明如何使用 Azure Powershell 调整在 Resource Manager 部署模型中创建的 Windows VM 的大小. 创建虚拟机 (VM) 后,可以通过更改 VM 大小来扩展 ...
- CREATE INDEX (Transact-SQL) 语法 (转载)
CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name ON <object> ( column [ ASC | D ...
- jboss4.2.3 屏蔽响应头server信息
1.修改配置deploy/jboss-web.deployer/service.xml <Connector port="8080" protocol="HTTP/ ...
- 单例模式实现 Volitile , interlocked
//单例模式: //1. 双检锁机制 Volatile.write() //2. 静态变量 //3. Interlocked.CompareExchange(ref single, temp, nul ...
- 一般处理程序HttpHandler的应用
ashx 一般处理程序(HttpHandler)是·NET众多web组件的一种,ashx是其扩展名.一个httpHandler接受并处理一个http请求,类比于Java中的servlet.类比于在Ja ...
- 一张思维导图纵观MySQL数据安全体系!
杨奇龙 2017-06-29 09:52:10 786 作者介绍 杨奇龙,前阿里数据库团队资深DBA,主要负责淘宝业务线,经历多次双十一,有海量业务访问DB架构设计经验.目前就职于有赞科技,负责数据库 ...
- Online, Cheap -- and Elite
Online, Cheap -- and Elite Analysis of Georgia Tech’s MOOC-inspired online master's in computer scie ...
- Win7下设置护眼的电脑豆沙绿界面
控制面板\所有控制面板项\个性化\窗口颜色和外观 "色调"(Hue)设为85,"饱和度"(Sat)设为90,"亮度" (Lum)设为205. ...