zoukankan      html  css  js  c++  java
  • Day75

    import requests
    # requests.get(url='http://127.0.0.1:8000/api/asset/?K1=123')
    # requests.get(url='http://127.0.0.1:8000/api/asset/',params={'k1':'v1'})
    # # url表示往哪里发送数据,params表示传输的参数是什么
    requests.post(url='http://127.0.0.1:8000/api/asset/')#触发了csrf的认证
    URL--传送数据
    import requests
    # requests.get(url='http://127.0.0.1:8000/api/asset/?K1=123')
    # requests.get(url='http://127.0.0.1:8000/api/asset/',params={'k1':'v1'})
    # # url表示往哪里发送数据,params表示传输的参数是什么
    requests.post(url='http://127.0.0.1:8000/api/asset/',
                  params={'k1':'v1','k2':'v2'},#GET形式传输
                  data={'username':'pandaboy','password':'5555'})#POST形式传输
    #触发了csrf的认证,params触发的是get方式,data触发的是POST形式
    URL--传输数据(POST)
    host_data = {
        'status':True,
        'data':{
            'hostname':'c1.com',
            'disk':{'status':True,'data':'XXX'},
            'mem':{'status':True,'data':'XXX'},
            'nic': {'status': True, 'data': 'XXX'},
        }
    }
    
    requests.post(url='http://127.0.0.1:8000/api/asset/',
                    json=host_data,
                  # params={'k1':'v1','k2':'v2'},#GET形式传输
                  # data={'username':'pandaboy','password':'5555'},
                  # header = {'a':'123'},#请求头传递数据
                  )#POST形式传输
    #触发了csrf的认证,params触发的是get方式,data触发的是POST形式
    URL--json
    from django.shortcuts import render,HttpResponse
    from django.views.decorators.csrf import csrf_exempt,csrf_protect
    # Create your views here.
    @csrf_exempt#这个装饰器就是取消CSRF的验证
    def asset(request):
        # print(request.method)
        # print(request.POST)
        # print(request.GET)
        if request.method == 'POST':
            import json
            host_info = json.loads(str(request.body,encoding='UTF-8'))
            print(host_info)
        return HttpResponse('....')
    # Post发送请求是放在请求体中的
    Django--views

    以下内容已经有bug了,request.META中是没有[HTTP_AUTHKEY]这个字典的

    from django.shortcuts import render,HttpResponse
    from django.views.decorators.csrf import csrf_exempt,csrf_protect
    # Create your views here.
    ck = 'asd7asd1345ad'
    @csrf_exempt#这个装饰器就是取消CSRF的验证
    def asset(request):
        # print(request.method)
        # print(request.POST)
        # print(request.GET)
        auth_key = request.META['HTTP_AUTHKEY']#没有HTTP_AUTHKEY这个字典
        print(auth_key)
        if auth_key!=ck:
            return HttpResponse('授权失败')
        if request.method == 'POST':
            import json
            host_info = json.loads(str(request.body,encoding='UTF-8'))
            print(host_info)
        return HttpResponse('....')
    # Post发送请求是放在请求体中的
    加密验证(初版)

     加密策略:

    1.设置固定"盐"

    2.设置时间戳

    3.进行md5加密

    4.同时发送"盐"+时间戳给服务端

    Win a contest, win a challenge
  • 相关阅读:
    operator模块和functools模块
    函数注解
    用户定义的可调用类型、从定位参数到仅限关键字参数
    可调用对象
    nxos启动的初始化和https访问nx-api
    网络安全基础之网络协议与安全威胁
    华为AC中服务集命令解释配置
    转:图解ARP协议(四)代理ARP原理与实践(“善意的欺骗”)
    windows下python3 python2 共存下安装virtualenvwrapper
    关于网络安全学习的网站
  • 原文地址:https://www.cnblogs.com/pandaboy1123/p/9041867.html
Copyright © 2011-2022 走看看