Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

125
Visualizações
Las restricciones de origen permitido de CORS no hacen que el servidor rechace las solicitudes

Estoy usando Spring Boot v1.5.1 y parece que mi restricción en el origen de CORS no funciona.

Mi archivo application.properties tiene la siguiente línea ( ref1 ref2 ).

 endpoints.cors.allowed-origins=http://mydomain.io

Mi controlador REST tiene el siguiente aspecto.

 @RestController @CrossOrigin @RequestMapping("/api/car") public class CarCtrl { @Autowired private CarService carService; @GetMapping public Car get() { return carService.getLatest(); } }

Sin embargo, cuando abro un navegador y escribo http://localhost:8080/api/car todavía puedo acceder al punto final REST.

También traté de cambiar mi anotación de la siguiente manera, pero eso no funciona.

 @CrossOrigin("${endpoints.cors.allowed-origins}")

¿Alguna idea sobre lo que estoy haciendo mal?

Tenga en cuenta que no estoy usando WebMvcConfigurerAdapter como esta publicación . ¿Realmente necesito extender esta clase para controlar explícitamente el origen? Pensé que la anotación @CrossOrigin además de la configuración del archivo de propiedades podría controlar los orígenes permitidos (en lugar de tener que hacerlo mediante programación).

about 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Sin embargo, cuando abro un navegador y escribo http://localhost:8080/api/car todavía puedo acceder al punto final REST.

La configuración de orígenes permitidos de CORS no hace que los servidores bloqueen las solicitudes.

Y debido a que el servidor no bloquea la solicitud, eso no le impide abrir la URL directamente en un navegador.

La política del mismo origen es lo que impone restricciones de origen cruzado, y la política del mismo origen solo se aplica a JavaScript frontend en aplicaciones web que se ejecutan en un navegador web y usan XHR o Fetch o jQuery $.ajax(…) o lo que sea para realizar solicitudes de origen cruzado.

Entonces, CORS no es una forma de hacer que los servidores bloqueen las solicitudes. Y, por lo tanto, tampoco es una forma de evitar que los usuarios puedan navegar directamente a una URL, y no es una forma de evitar que cualquier herramienta que no sea una aplicación web, como curl o Postman o lo que sea, acceda a la URL.

about 4 years ago · Santiago Trujillo Relatório

0

La especificación explícita del dominio como cadena en @CrossOrigin(" http://mydomain.io ") funcionará. No creo que esto funcione @CrossOrigin("${endpoints.cors.allowed-origins}").

about 4 years ago · Santiago Trujillo Relatório

0

En cuanto a mí, estoy agregando s CrossRef Filter en mis aplicaciones.

 package com.alexfrndz.filter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import org.springframework.web.filter.GenericFilterBean; import javax.servlet.FilterChain; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @Component public class SimpleCORSFilter extends GenericFilterBean { /** * The Logger for this class. */ private final Logger logger = LoggerFactory.getLogger(this.getClass()); @Override public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException { HttpServletResponse response = (HttpServletResponse) resp; response.setHeader("Access-Control-Allow-Origin", "*"); response.setHeader("Access-Control-Allow-Methods", "POST, PUT, GET, OPTIONS, DELETE"); response.setHeader("Access-Control-Max-Age", "3600"); response.setHeader("Access-Control-Allow-Headers", "Authorization, Content-Type"); //response.setHeader("Access-Control-Allow-Credentials", "true"); chain.doFilter(req, resp); } }
about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda