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

访客5年前黑客文章779

最近在培训包含在一些竞赛中,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]  黑客接单网

相关文章

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

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

怎么避免网站要害数据被人歹意收集

 昨天晚上花了几个小时用Jsoup写了一个网站收集器,帮一个高中同学收集了一个工业信息门户上的芯片待售信息。网站上显现的数据多达60w+条, 我写的程序跑了7个小时只收集了一半,算是能够交差了。 这现...

恣意用户暗码重置(五):重置凭据可暴破

在逻辑缝隙中,恣意用户暗码重置最为常见,或许出现在新用户注册页面,也或许是用户登录后重置暗码的页面,或许用户忘掉暗码时的暗码找回页面,其间,暗码找回功用是重灾区。我把日常浸透过程中遇到的事例作了缝隙成...

Brida:运用Frida进行移动使用浸透测验

Brida是一款 Burp Suite 扩展,作为一座桥梁衔接着Burp Suite以及Frida,以协助用户修正运用程序与后端服务器之间的通讯数据为己任。在剖析移动端运用时遇到运用运用随机密钥式对称...

Kerberos中继攻击:滥用无约束委派(下)-黑客接单平台

上一篇文章,我只讲了中继进犯的基本理论,这篇文章,我会举两个示例来及详细阐明。 示例1:运用计算机帐户和SpoolService缝隙获取DC同步权限 在第一种情况下,咱们将乱用我的internal.c...