Django开发与攻防测验(入门篇)

访客6年前黑客文章820

最近在培训包含在一些竞赛中,python结构方面的攻防需求呈现的越来越频频。
尽管python结构相关于Java、php等的广泛度还略低一点(当然现在的盛行程度现已越来越高了),可是咱们并不能够因此而忽视其的安全性。比如在一些赛事中就常用flask来命题等等,所以花时间学习python结构的开发与攻防关于web选手来说仍是一件比较重要的工作,所以编撰这篇文章,期望能够给一些想要快速入门的同学一点协助,一起也能共同进步。
如有过错的当地,还请各位师兄与同学指正。
依稀记得曾经用django + semantic ui + mongodb搭博客仍是大学一年级的时分,韶光仓促啊….
一、Django根底开发
曾经搭博客用的是1.8.2,还在机子上装着没卸,趁便拿过来用,当然新版别会修正许多bug,尽或许仍是要去学习新一些的版别,此篇权当入门篇。
1、下载装置与发动
# 下载django
pip install django==1.8.2 -i https://pypi.mirrors.ustc.edu.cn/simple/
# 创立文件夹并发动虚拟环境
virtualenv django_demo
cd django_demo
source bin/activate
# 创立寄存django文件的文件夹
mkdir learn_django
cd learn_django
# 创立项目
python django-admin.py startproject django_web
# 创立使用
python manage.py startapp django_app
# 修改django_web中的settings.py文件,将django_app参加到apps中

这样就完成了最根底的建立

运转服务看一下

2、Django结构中的MVC与MTV
MVC是众所周知的形式:model(模型)、view(视图)、controller(控制器)
用户在页面输入url,转交给url控制器,然后依据url匹配相应的视图函数,viwe会去到models取数据,然后models在数据库中获得数据后回来给视图,视图把要展现的数据回来给模版,然后就输出到页面上。

Django也是一个MVC结构,可是在Django中,控制器承受用户输入的部分由结构自行处理,所以django愈加重视的是 模型(model)、view(视图)、templates(模版),也便是MTV模型。
恳求一个url后,匹配相应的view区,view去models(一个保管数据的层级)查找咱们要的数据,然后将数据装载到templates层,然后呈献给咱们。

两者很像,能够说MTV依据MVC。
3、静态Web开发
创立模版层
当然,要是只想让简略的数据显现在Web页面中,不需求创立模版,直接在views函数中相应回去就能够了,可是仍是正规化一点。
在learn_django中创立templates文件夹(假如是IDE创立的django项目会主动创立),这便是咱们的模版文件夹,来增加一个可视化的模版index.html
html>
head>
    title>Django Learningtitle>
head>
body>
    h1>Hellow,Django!h1>>
body>
html>
创立视图层
视图层一般来说是一个视图函数,与url进行匹配回来传入对应的Web页面
from django.shortcuts import render
# Create your views here.
def index(request):
    return render(request,'index.html')
创立url层
创立url层,依据传入的url来找到咱们的视图函数,从而将烘托的模版回来
from django.conf.urls import include, url
from django.contrib import admin
from django_app.views import index
urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),
# 用正则去对url进行匹配,然后将视图函数匹配给相应的url
    url(r'^index/',index),
运转服务,默许在8000端口
python manage.py runserver

到这一步有一部分同学会有一些小问题,那便是并不能回来模版,或许Windows和linux状况各不相同,linux需求把templates目录放在app目录下才能够找到。
原因就在于settings.py中模版途径设置问题,假如templates目录是放在项目根目录,在settings中将templates途径参加就能够了。


4、动态web开发
前边是说静态页面,假如需求完成动态,那就不得不说与数据库存储的交互问题,需求对models进行对应的编写来获得数据。
mysql + django
装置对应的数据库接口驱动,这儿大致有三种:mysqldb、pymysql、mysqlclient。

[1] [2] [3] [4] [5] [6]  黑客接单网

相关文章

浅谈RASP技能攻防之根底篇

本文就笔者研讨RASP的进程进行了一些概述,技能干货略少,倾向于遍及RASP技能。中心对java怎么完成rasp技能进行了简略的举例,想对咱们起到抛砖引玉的效果,能够让咱们更好的了解一些关于web运用...

查开宾馆记录:黑客接单网内幕曝光

“我真的可以查一下,但它不完整,”“我确实找到了,我看到几个人叫我的名字”。 在这篇帖子下,许多用户声称通过实际测量找到了关于自己或朋友的信息,并声称数据库不完整。 记者昨天登录该网站,利用自己和...

某HR业务网站逻辑漏洞挖掘案例以及POC编写思路分享-黑客接单平台

东西预备 BurpSuiteFree (或许咱们最喜爱最常用的抓包神器,需求Java环境); 火狐浏览器(个人比较喜爱的浏览器;360/Chrome等浏览器都能够); SwitchyOmega插件(设...

JavaScript的注入引出技能欺诈

0×01 前语 在最近的歹意软件的查询中,咱们发现了一些风趣的混杂JavaScript代码。此代码伪装成现在盛行的插件AddThis social sharing的一部分,在URL命名约好和图画文件中...

根据SQLite数据库的Web应用程序注入攻略

SQL注入又称hacking之母,是形成网络世界巨大损失而臭名远扬的缝隙之一,研究人员现已发布了许多关于不同SQL服务的不同进犯技巧相关文章。关于MSSQL,MySQL和ORACLE数据库来说,SQL...

运用Sboxr完成DOM XSS缝隙的主动发掘与使用

这一系列文章将为咱们展现如安在单页或JavaScript富应用上,运用Sboxr完成DOM XSS缝隙的主动发掘与运用。咱们将以https://domgo.at靶场中的10个DOM XSS的小操练为...