http中的put,delete等请求为啥不安全

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了http中的put,delete等请求为啥不安全相关的知识,希望对你有一定的参考价值。

因为这是在服务器端有操作的,和get不同,这些请求要求服务器删除或者插入相关的操作,删除了网站核心文件或者插入了恶意代码,因此不安全。 参考技术A 并不能理解,尤其不能理解把定义为无副作用的Method之一的OPITONS给封了(既然这样为何不封POST)。。。。。可以让他们去看RFC2616关于method definions部分了。。。最后个人觉得对于method真正产生的影响是人为决定的,真正安全问题是人为产生的和个method没啥关系吧(RFC定义了那些method应该遵循的原则。。至于实现者愿不愿意遵循是另外一回事情了) 参考技术B 严格上讲,不只是 http 中的 put、delete 请求不安全,其实所有的命令都不是绝对安全的。只是程度大小不同而已。因为只要是人们编写的软件,从软件工程的角度上讲,无论是黑盒测试、还是白盒测试,都无法保证它没有丝毫的漏洞。所以这就是为什么所有的软件都会给那些 HACKER 留下可乘之机的根本原因。本回答被提问者采纳

[轻微]WEB服务器启用了OPTIONS方法/如何禁止DELETE,PUT,OPTIONS等协议访问应用程序/tomcat下禁用不安全的http方法

使用了360网站安全检测 查到有OPTIONS方法

百度了下 https://my.oschina.net/maliang0130/blog/338725

找到这个方法奈何http.conf 找不到无论在tomcat目录里还是linux路径下的/usr/etc或者apache2

最后通过开源中国找到

第一步:修改应用程序的web.xml文件的协议

<?xml version="1.0" encoding="UTF-8"?>  
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"  
    version="2.4">

第二步:在应用程序的web.xml中添加如下的代码即可

<security-constraint>  
   <web-resource-collection>  
      <url-pattern>/*</url-pattern>  
      <http-method>PUT</http-method>  
<http-method>DELETE</http-method>  
<http-method>HEAD</http-method>  
<http-method>OPTIONS</http-method>  
<http-method>TRACE</http-method>  
   </web-resource-collection>  
   <auth-constraint>  
   </auth-constraint>  
 </security-constraint>  
 <login-config>  
   <auth-method>BASIC</auth-method>  
 </login-config>

 重新部署程序,重启tomcat即可完成

如果用户要验证既可以将POST和GET也添加在其中,重新部署并启动tomcat即可看到效果

以上的代码添加到某一个应用中,也可以添加到tomcat的web.xml中,区别是添加到某一个应用只对某一个应用有效如果添加到tomcat的web.xml中,则对tomcat下所有的应用有效。

<security-constraint>  
   <web-resource-collection>  
      <url-pattern>/*</url-pattern>  
      <http-method>PUT</http-method>  
<http-method>DELETE</http-method>  
<http-method>HEAD</http-method>  
<http-method>OPTIONS</http-method>  
<http-method>TRACE</http-method>  
   </web-resource-collection>  
   <auth-constraint>  
   </auth-constraint>  
 </security-constraint>  
 <login-config>  
   <auth-method>BASIC</auth-method>  
 </login-config>

以上是关于http中的put,delete等请求为啥不安全的主要内容,如果未能解决你的问题,请参考以下文章

HTTP协议中POSTGETHEADPUT等请求方法

[轻微]WEB服务器启用了OPTIONS方法/如何禁止DELETE,PUT,OPTIONS等协议访问应用程序/tomcat下禁用不安全的http方法

http请求报文中的方法

HTTP请求方法

get、post、put、delete、head 请求方式的区别

http中get,post,put,delete方法的用法以及区别