关于http的PUT、DELETE等方法到底安不安全的讨论

2023-05-16

本文主要记录我们的讨论过程及结论,具体测试代码就不贴了。

一、背景

最近研发让我开一下服务器的put、delete方法,被我以不安全的http方法给拒绝了。

研发表示我很无理,put怎么就是不安全的了,在他看来,put和post只是语义上的不同。如果put是不安全的方法,那么post也是不安全的方法了。

网上的说法也是分为两派,一派说这些都是不安全的方法,要关掉;另一派说它们只是语义上的区别,不存在安不安全。

二、一探究竟

经过我和研发各自编写测试用例来论证后,我明白了为什么会有这样的分歧:我是从nginx作为web服务器的角度来看问题的,研发是从java代码上来看问题的。

1、为什么说POST和PUT只是语义上的区别?

在研发的代码里,终端(浏览器或客户端)过来的流量,最终通过java的注解,携带参数进入到了研发写了一个方法里来了。比如研发对某个自定义方法使用PUT的注解,那么终端通过PUT方法传递的参数就会进入到这个自定义方法中。有点编程经验的话,就会知道,到了你写的方法里,这些参数就随便你玩了。

对于PUT、POST,研发都可以通过添加不同注解的方式,得到传递的参数,然后进行操作。所以研发会认为他们只是语义上的区别。

2、为什么说PUT、DELETE是不安全的方法?

对于nginx,可以使用HttpDavModule编译nginx(./configure --with-http_dav_module),开启PUT、DELETE等方法。开启后,恶意攻击者就可以直接将病毒文件等传到nginx服务器上,所以PUT等方法对nginx来说是不安全的

3、上面两个问题是否矛盾?

并不矛盾。

假如研发人员打包一个jar包,这时客户端直接访问这个jar包起的服务,那么put传递过来的所有参数,是可以由研发人员编写的代码控制的。只要控制得没有猫病,那么就是安全的。假如开发的是一个tomcat容器部署的工程,参数也是一样可以由研发的代码控制的。

同时,用nginx也可以反向代理put方法(不用HttpDavModule),所以只要后端服务对put服务做好控制,nginx不需要做任何更改,也就实现了对put方法的支持。

但nginx不能单独开启put等,因为研发的代码不能对nginx做控制。

三、结论

后端服务可开启put方法,只需要后端服务对put传递的参数做好控制,并实现put方法即可。

nginx不可开启put方法,这是一种危险的方法。

 

才疏学浅,如果分析得不对,请各位大佬指正~~~

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于http的PUT、DELETE等方法到底安不安全的讨论 的相关文章

  • 自然语言处理之语料库

    语料库 定义 xff1a 语料库 corpus 就是存放语言材料的仓库 语言数据库 xff09 语料库技术的发展 早期 xff1a 语料库在语言研究中被广泛使用 xff1a 语言习得 方言学 语言教学 句法和语义 音系研究等 沉寂时期 xf
  • 知识追踪入门系列-论文资料汇总

    Paper xff1a 知识追踪相关论文 下载论文和代码见reference第一个链接 Deep Knowledge Tracing 首次提出将RNN用于知识追踪 xff0c 并能够基于复杂的知识联系进行建模 xff08 如构建知识图谱 x
  • 知识追踪方法比较

    DKT xff1a Deep knowledge tracing In Advances in neural information processing systems 这是一种开创性的方法 xff0c 它使用单层LSTM模型来预测学生的
  • 机器学习 注意力 笔记资料贴

    Self Attention与Transformer详解 https zhuanlan zhihu com p 47282410 写的非常详细 https jalammar github io illustrated transformer
  • 图像的几何变换maketform imtransform imresize imcrop

    背景 几何变换是将图像像素从一个位置映射到另一个位置 几何变换有五种常见类型 xff1a 剪切变换 平移变换 缩放变换 旋转变换和投影变换 它们如图4 1所示 在该图中 xff0c 原始图像显示在 A 中 xff0c 而变换后的图像显示在
  •  决策树(Decision Tree)原理及实现

    决策树 xff08 Decision Tree xff09 原理及实现 一 算法简介 1 1 基本模型介绍 决策树是一类常见的机器学习方法 xff0c 可以帮助我们解决分类与回归两类问题 模型可解释性强 xff0c 模型符合人类思维方式 x
  • Python 一维及多维数组及基本操作

    2 创建一般的多维数组 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 import numpy as np a 61 np array 1 2 3 dty
  • java操作word方式 设置国内镜像命令

    java操作word方式还有 个人认为通过jacob最好 xff0c 自己可以扩展 xff0c 网上除poi之外几乎全是java com技术实现的 1 Apache POI Java API To Access Microsoft Form
  • matlib 多种方法实现图像旋转不使用imrotate函数

    原理 方法很棒https blog csdn net qq 41140138 article details 104737705 方法一 function g 61 rotate image1 f theta M N 61 size f t
  • MATLAB实现满秩LU/QR等分解 及求方程组的解 范数

    矩阵分解 矩阵的LR分解 方阵A是非奇异的 clear A 61 2 1 4 4 3 13 2 2 20 format rat L U 61 lu A L U P 61 lu A 矩阵QR分解 Q R 61 qr A xff09 R为上三角
  • Deep Knowledge Tracing(DKT)具体实现

    有关dkt可参考的文章http blog kintoki me 2017 06 06 tensorflow dkt 问题陈述 传统的评价方法 xff0c 如考试和考试 xff0c 只允许在考试结束后对学生进行评价 因此 xff0c 这些方法
  • pandas数据预处理 缺失值

    缺失值的分类 按照数据缺失机制可分为 xff1a 可忽略的缺失 完全随机缺失 missing completely at random MCAR xff0c 所缺失的数据发生的概率既与已观察到的数据无关 也与未观察到的数据无关 随机缺失 m
  • 数据预处理之数据清洗案例

    建议学习文章 xff1a https zhuanlan zhihu com p 111499325 https mp weixin qq com s jNoXHO4qU34gcha4zOGRLA https mp weixin qq com
  • ERROR conda.core.link:_execute(502): An error occurred while installing package

    记录错误 ERROR conda core link execute 502 An error occurred while installing package xff1a http mirrors tuna tsinghua edu c
  • 深度学习之Bias/Variance偏差、方差

    偏差 xff08 Bias xff09 和方差 xff08 Variance xff09 是机器学习领域非常重要的两个概念和需要解决的问题 在传统的机器学习算法中 xff0c Bias和Variance是对立的 xff0c 分别对应着欠拟合
  • Image Processing in the Spatial Domain 空间域图像处理

    背景 二维卷积 在二维卷积中 xff0c 我们通过卷积核对输入图像进行卷积来计算输出图像 卷积核是一个小尺寸的矩阵 xff0c 例如3 3 5 5或5 7像素 xff1b 这个矩阵中的项称为卷积系数 在二维相关中 xff0c 我们通过将输入
  • Knowledge Tracing Project数据分析/挖掘

    本项目我们遵循以下工作流程 1项目概况2 数据理解3 头脑风暴4 数据清理5 探索性数据分析6 特色工程7 功能选择8 型号9 选型10 参数微调11 进一步改进 项目概述 目标是根据学生之前的学习经验预测学生是否能够正确回答下一个问题 数
  • snprintf 函数用法

    snprintf 函数用于将格式化的数据写入字符串 xff0c 其原型为 xff1a int snprintf char str int n char format argument 参数 str为要写入的字符串 xff1b n为要写入的字
  • 用MATLAB进行区间估计

    数据正态总体分布normfit 命令来完成对参数的点估计和区间估计 此命令以alpha为显著性水平 xff0c 在数据X下 xff0c 对参数进行估计 xff08 alpha缺省时设定为0 05 xff09 muhat sigmahat m
  • Implicit Heterogeneous Features Embedding in Deep Knowledge Tracing论文阅读

    资源 论文和数据集下载 xff1a 深度知识追踪 rar 蓝奏云 lanzous com 决策树实现 xff1a Implicit Heterogeneous Features Embedding in Deep Knowledge Tra

随机推荐