Rumah > Java > javaTutorial > teks badan

Bagaimanakah Springboot menggunakan tomcat terbina dalam untuk melarang HTTP yang tidak selamat?

WBOY
Lepaskan: 2023-05-12 11:49:05
ke hadapan
2066 orang telah melayarinya

Tomcat terbina dalam Springboot melarang kaedah HTTP yang tidak selamat

1 Anda boleh mengkonfigurasi kandungan berikut dalam web.xml tomcat

Biar tomcat melarang kaedah HTTP yang tidak selamat

<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>
Salin selepas log masuk

2. But Spring menggunakan tomcat terbina dalam

Tiada fail konfigurasi web.xml Anda boleh mengkonfigurasinya melalui konfigurasi berikut

Dayakan kaedah HTTP yang tidak selamat

Penerangan masalah:

Halaman web, skrip dan fail boleh dimuat naik, diubah suai atau dipadamkan pada pelayan web.

"Mendayakan kaedah HTTP yang tidak selamat: OPTIONS /system HTTP/1.1Benarkan: HEAD, PUT, DELETE, TRACE, OPTIONS, PATCH

Penggunaan kaedah di atas:

  • Pilihan, Head, Trace: digunakan terutamanya oleh aplikasi untuk menemui dan menjejaki sokongan pelayan dan tingkah laku rangkaian; >

    Letak dan Siarkan: Serahkan dokumen ke pelayan;

  • Padam: Musnahkan sumber atau koleksi; 🎜>

  • PropFind dan PropPatch: dapatkan semula dan tetapkan sifat untuk sumber dan koleksi; 🎜>

  • Kunci dan buka kunci: Perlindungan Overwrite
  • Jelas sekali butiran operasi di atas boleh memuat naik, mengubah suai, memadam, dan lain -lain ke pelayan web perkhidmatan. Walaupun WebDAV mempunyai kawalan kebenaran, masih terdapat banyak kaedah serangan di Internet, jadi jika anda tidak memerlukan kaedah ini, disyorkan untuk menyekatnya sahaja
  • Penyelesaian:

  • Tambahkan kandungan berikut pada web.xml dalam aplikasi web
  • @Configuration
    public class TomcatConfig { 
        @Bean
        public EmbeddedServletContainerFactory servletContainer() {
            TomcatEmbeddedServletContainerFactory tomcatServletContainerFactory = new TomcatEmbeddedServletContainerFactory();
            tomcatServletContainerFactory.addContextCustomizers(new TomcatContextCustomizer(){
     
       @Override
       public void customize(Context context) {
        SecurityConstraint constraint = new SecurityConstraint();
        SecurityCollection collection = new SecurityCollection();
        //http方法
        collection.addMethod("PUT");
        collection.addMethod("DELETE");
        collection.addMethod("HEAD");
        collection.addMethod("OPTIONS");
        collection.addMethod("TRACE");
        //url匹配表达式
        collection.addPattern("/*");
        constraint.addCollection(collection);
        constraint.setAuthConstraint(true);
        context.addConstraint(constraint );
        
        //设置使用httpOnly
        context.setUseHttpOnly(true);    
       }
            });
            return tomcatServletContainerFactory;
        } 
    }
    Salin selepas log masuk

    pengenalan teg:

  • digunakan untuk mengehadkan peranan yang boleh mengakses sumber tersebut bermakna semua pengguna peranan dilarang mengakses

  • < ;url-pattern>Nyatakan sumber yang perlu disahkan

    Nyatakan kaedah yang perlu disahkan

    Atas ialah kandungan terperinci Bagaimanakah Springboot menggunakan tomcat terbina dalam untuk melarang HTTP yang tidak selamat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan