Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
spring-cloud__spring-cloud-gateway_CVE-2022-22947_3-0-6 | Kitploit
Herramientas/GitHubGitHub/shoucheng3/spring-cloud__spring-cloud-gateway_cve-2022-22947_3-0-6
Escáneres de Vulnerabilidades WebAnálisis de VulnerabilidadesExplotaciónPruebas de Seguridad de APIsSeguridad WebSeguridad de APIs
GitHubshoucheng3/spring-cloud__spring-cloud-gateway_cve-2022-22947_3-0-6

spring-cloud__spring-cloud-gateway_CVE-2022-22947_3-0-6

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Ver Repositorio
hace 1 añoAún no revisado

//// NO EDITE ESTE ARCHIVO. FUE GENERADO. Los cambios manuales en este archivo se perderán cuando se genere de nuevo. Edite los archivos del directorio src/main/asciidoc/ en su lugar. ////

image::https://circleci.com/gh/spring-cloud/spring-cloud-gateway/tree/master.svg?style=svg["CircleCI", link="https://circleci.com/gh/spring-cloud/spring-cloud-gateway/tree/master"] image::https://codecov.io/gh/spring-cloud/spring-cloud-gateway/branch/master/graph/badge.svg["Codecov", link="https://codecov.io/gh/spring-cloud/spring-cloud-gateway/branch/master"] image::https://api.codacy.com/project/badge/Grade/a6885a06921e4f72a0df0b7aabd6d118["Codacy code quality", link="https://www.codacy.com/app/spring-cloud/spring-cloud-gateway?utm_source=github.com&utm_medium=referral&utm_content=spring-cloud/spring-cloud-gateway&utm_campaign=Badge_Grade"]

Este proyecto proporciona una puerta de enlace de API (API Gateway) construida sobre el ecosistema Spring, que incluye: Spring 5, Spring Boot 2 y Project Reactor. Spring Cloud Gateway tiene como objetivo proporcionar una forma sencilla pero eficaz de enrutar hacia las API y de aplicarles preocupaciones transversales, como: seguridad, monitoreo/métricas y resiliencia.

== Características

  • Java 8
  • Spring Framework 5
  • Spring Boot 2
  • Enrutamiento dinámico
  • Coincidencia de rutas integrada en Spring Handler Mapping
  • Coincidencia de rutas en la solicitud HTTP (Path, Method, Header, Host, etc...)
  • Filtros limitados a la ruta coincidente
  • Los filtros pueden modificar la solicitud y la respuesta HTTP posteriores (agregar/eliminar encabezados, agregar/eliminar parámetros, reescribir la ruta, establecer la ruta, Hystrix, etc...)
  • Impulsado por API o configuración
  • Admite Spring Cloud DiscoveryClient para configurar rutas

== Compilación

:jdkversion: 1.8

=== Compilación y pruebas básicas

Para compilar el código fuente deberá instalar JDK {jdkversion}.

Spring Cloud usa Maven para la mayoría de las actividades relacionadas con la compilación, y debería poder ponerse en marcha con bastante rapidez clonando el proyecto que le interese y escribiendo


$ ./mvnw install

NOTA: También puede instalar Maven (>=3.3.3) por su cuenta y ejecutar el comando mvn en lugar de ./mvnw en los ejemplos siguientes. Si hace eso, también podría necesitar agregar -P spring si su configuración local de Maven no contiene declaraciones de repositorio para los artefactos de prelanzamiento de Spring.

NOTA: Tenga en cuenta que es posible que necesite aumentar la cantidad de memoria disponible para Maven estableciendo una variable de entorno MAVEN_OPTS con un valor como -Xmx512m -XX:MaxPermSize=128m. Intentamos cubrir esto en la configuración de .mvn, así que si encuentra que tiene que hacerlo para que la compilación tenga éxito, abra un ticket para que se agreguen los ajustes al control de fuentes.

Los proyectos que requieren middleware (es decir, Redis) para las pruebas generalmente requieren que una instancia local de Docker esté instalada y en ejecución.

=== Documentación

El módulo spring-cloud-build tiene un perfil "docs" y, si lo activa, intentará compilar las fuentes asciidoc desde src/main/asciidoc. Como parte de ese proceso, buscará un README.adoc y lo procesará cargando todos los includes, pero sin analizarlo ni renderizarlo, solo copiándolo a ${main.basedir} (por defecto ${basedir}, es decir, la raíz del proyecto). Si hay cambios en el README, aparecerán después de una compilación de Maven como un archivo modificado en el lugar correcto. Solo haga commit y envíe el cambio.

=== Trabajar con el código

Si no tiene preferencia por un IDE, le recomendamos que use https://www.springsource.com/developer/sts[Spring Tools Suite] o https://eclipse.org[Eclipse] cuando trabaje con el código. Usamos el complemento de Eclipse https://eclipse.org/m2e/[m2eclipse] para el soporte de Maven. Otros IDE y herramientas también deberían funcionar sin problemas siempre que usen Maven 3.3.3 o superior.

==== Activar el perfil de Maven de Spring

Los proyectos de Spring Cloud requieren que el perfil de Maven 'spring' esté activado para resolver los repositorios de hitos (milestones) y snapshots de Spring. Use su IDE preferido para activar este perfil; de lo contrario, podría experimentar errores de compilación.

==== Importar en Eclipse con m2eclipse

Recomendamos el complemento de Eclipse https://eclipse.org/m2e/[m2eclipse] cuando trabaje con Eclipse. Si aún no tiene m2eclipse instalado, está disponible en el "eclipse marketplace".

NOTA: Las versiones antiguas de m2e no admiten Maven 3.3, por lo que, una vez importados los proyectos en Eclipse, también deberá indicarle a m2eclipse que use el perfil correcto para los proyectos. Si ve muchos errores diferentes relacionados con los POM de los proyectos, verifique que tenga una instalación actualizada. Si no puede actualizar m2e, agregue el perfil "spring" a su settings.xml. Alternativamente, puede copiar la configuración del repositorio del perfil "spring" del pom principal en su settings.xml.

==== Importar en Eclipse sin m2eclipse

Si prefiere no usar m2eclipse, puede generar los metadatos del proyecto de Eclipse con el siguiente comando:

[indent=0]

root@kitploit:~
$ ./mvnw eclipse:eclipse

Los proyectos de Eclipse generados se pueden importar seleccionando import existing projects en el menú file.

== Contribuciones

:spring-cloud-build-branch: master

Spring Cloud se publica bajo la licencia Apache 2.0, no restrictiva, y sigue un proceso de desarrollo de Github muy estándar, usando el rastreador de Github para los problemas y fusionando las pull requests en master. Si quiere contribuir incluso con algo trivial, no lo dude, pero siga las pautas a continuación.

=== Firmar el Acuerdo de Licencia del Colaborador

Antes de aceptar un parche o pull request no trivial, necesitaremos que firme el https://cla.pivotal.io/sign/spring[Contributor License Agreement]. Firmar el acuerdo del colaborador no otorga a nadie derechos de commit en el repositorio principal, pero sí significa que podemos aceptar sus contribuciones y recibirá un crédito de autor si lo hacemos. Es posible que se pida a los colaboradores activos que se unan al equipo central y se les dé la capacidad de fusionar pull requests.

=== Código de Conducta

Este proyecto se adhiere al https://github.com/spring-cloud/spring-cloud-build/blob/master/docs/src/main/asciidoc/code-of-conduct.adoc[código de conducta] del Contributor Covenant. Al participar, se espera que cumpla este código. Informe cualquier comportamiento inaceptable a [email protected].

=== Convenciones de código y mantenimiento

Ninguna de estas es esencial para una pull request, pero todas ayudan. También pueden agregarse después de la pull request original, pero antes de una fusión (merge).

  • Use las convenciones de formato de código de Spring Framework. Si usa Eclipse, puede importar la configuración del formateador usando el archivo eclipse-code-formatter.xml del proyecto https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/spring-cloud-dependencies-parent/eclipse-code-formatter.xml[Spring Cloud Build]. Si usa IntelliJ, puede usar el https://plugins.jetbrains.com/plugin/6546[Eclipse Code Formatter Plugin] para importar el mismo archivo.
  • Asegúrese de que todos los archivos .java nuevos tengan un comentario de clase Javadoc simple con al menos una etiqueta @author que lo identifique y, preferiblemente, al menos un párrafo sobre para qué sirve la clase.
  • Agregue el comentario de encabezado de licencia ASF a todos los archivos .java nuevos (cópielo de los archivos existentes del proyecto).
  • Agregue su nombre como @author en los archivos .java que modifique sustancialmente (más que cambios cosméticos).
  • Agregue algunos Javadocs y, si cambia el espacio de nombres, algunos elementos de documentación XSD.
  • Algunas pruebas unitarias ayudarían mucho también -- alguien tiene que hacerlas.
  • Si nadie más usa su rama, haga rebase contra master actual (u otra rama de destino del proyecto principal).
  • Al escribir un mensaje de commit, siga https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html[estas convenciones], si está corrigiendo un problema existente, agregue Fixes gh-XXXX al final del mensaje del commit (donde XXXX es el número del problema).

=== Checkstyle

Spring Cloud Build incluye un conjunto de reglas de checkstyle. Puede encontrarlas en el módulo spring-cloud-build-tools. Los archivos más notables del módulo son:

.spring-cloud-build-tools/

└── src    ├── checkstyle    │   └── checkstyle-suppressions.xml <3>    └── main    └── resources    ├── checkstyle-header.txt <2>    └── checkstyle.xml <1>

<1> Reglas de Checkstyle predeterminadas <2> Configuración del encabezado de archivo <3> Reglas de supresión predeterminadas

==== Configuración de Checkstyle

Las reglas de Checkstyle están deshabilitadas de forma predeterminada. Para agregar checkstyle a su proyecto, simplemente defina las siguientes propiedades y complementos.

.pom.xml

true <1> true <2> true <3> <4> io.spring.javaformat spring-javaformat-maven-plugin <5> org.apache.maven.plugins maven-checkstyle-plugin
root@kitploit:~
<reporting>
    <plugins>
        <plugin> <5>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
        </plugin>
    </plugins>
</reporting>
---- <1> Hace fallar la compilación ante errores de Checkstyle <2> Hace fallar la compilación ante violaciones de Checkstyle <3> Checkstyle también analiza las fuentes de prueba <4> Agregue el complemento Spring Java Format, que reformateará su código para cumplir la mayoría de las reglas de formato de Checkstyle <5> Agregue el complemento checkstyle a las fases de compilación e informes

Si necesita suprimir algunas reglas (p. ej., la longitud de línea debe ser mayor), es suficiente con que defina un archivo en ${project.root}/src/checkstyle/checkstyle-suppressions.xml con sus supresiones. Ejemplo:

.projectRoot/src/checkstyle/checkstyle-suppresions.xml

----

Es recomendable copiar ${spring-cloud-build.rootFolder}/.editorconfig y ${spring-cloud-build.rootFolder}/.springformat a su proyecto. De esa manera, se aplicarán algunas reglas de formato predeterminadas. Puede hacerlo ejecutando este script:

root@kitploit:~
$ curl https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/.editorconfig -o .editorconfig
$ touch .springformat

=== Configuración del IDE

==== Intellij IDEA

Para configurar Intellij, debe importar nuestras convenciones de codificación, perfiles de inspección y configurar el complemento checkstyle. Los siguientes archivos se pueden encontrar en el proyecto https://github.com/spring-cloud/spring-cloud-build/tree/master/spring-cloud-build-tools[Spring Cloud Build].

.spring-cloud-build-tools/

└── src    ├── checkstyle    │   └── checkstyle-suppressions.xml <3>    └── main    └── resources    ├── checkstyle-header.txt <2>    ├── checkstyle.xml <1>    └── intellij       ├── Intellij_Project_Defaults.xml <4>       └── Intellij_Spring_Boot_Java_Conventions.xml <5>

<1> Reglas de Checkstyle predeterminadas <2> Configuración del encabezado de archivo <3> Reglas de supresión predeterminadas <4> Valores predeterminados del proyecto para Intellij que aplican la mayoría de las reglas de Checkstyle <5> Convenciones de estilo del proyecto para Intellij que aplican la mayoría de las reglas de Checkstyle

.Estilo de código

image::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/{spring-cloud-build-branch}/docs/src/main/asciidoc/images/intellij-code-style.png[Estilo de código]

Vaya a File -> Settings -> Editor -> Code style. Allí, haga clic en el icono junto a la sección Scheme. Luego, haga clic en el valor Import Scheme y elija la opción Intellij IDEA code style XML. Importe el archivo spring-cloud-build-tools/src/main/resources/intellij/Intellij_Spring_Boot_Java_Conventions.xml.

.Perfiles de inspección

image::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/{spring-cloud-build-branch}/docs/src/main/asciidoc/images/intellij-inspections.png[Estilo de código]

Vaya a File -> Settings -> Editor -> Inspections. Allí, haga clic en el icono junto a la sección Profile. Luego, haga clic en Import Profile e importe el archivo spring-cloud-build-tools/src/main/resources/intellij/Intellij_Project_Defaults.xml.

.Checkstyle

Para que Intellij funcione con Checkstyle, debe instalar el complemento Checkstyle. También es recomendable instalar Assertions2Assertj para convertir automáticamente las aserciones de JUnit.

image::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/{spring-cloud-build-branch}/docs/src/main/asciidoc/images/intellij-checkstyle.png[Checkstyle]

Vaya a File -> Settings -> Other settings -> Checkstyle. Allí, haga clic en el icono + en la sección Configuration file. Luego, deberá definir de dónde se tomarán las reglas de checkstyle. En la imagen anterior, hemos tomado las reglas del repositorio clonado de Spring Cloud Build. Sin embargo, puede apuntar al repositorio de GitHub de Spring Cloud Build (p. ej., para checkstyle.xml: https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/spring-cloud-build-tools/src/main/resources/checkstyle.xml). Debemos proporcionar las siguientes variables:

  • checkstyle.header.file - apúntelo al archivo spring-cloud-build-tools/src/main/resources/checkstyle-header.txt de Spring Cloud Build, ya sea en su repositorio clonado o mediante la URL https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/spring-cloud-build-tools/src/main/resources/checkstyle-header.txt.
  • checkstyle.suppressions.file - supresiones predeterminadas. Apúntelo al archivo spring-cloud-build-tools/src/checkstyle/checkstyle-suppressions.xml de Spring Cloud Build, ya sea en su repositorio clonado o mediante la URL https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/spring-cloud-build-tools/src/checkstyle/checkstyle-suppressions.xml.
  • checkstyle.additional.suppressions.file - esta variable corresponde a las supresiones en su proyecto local. P. ej., si está trabajando en spring-cloud-contract, apunte a la carpeta project-root/src/checkstyle/checkstyle-suppressions.xml. Un ejemplo para sería: .

IMPORTANTE: Recuerde establecer Scan Scope en All sources, ya que aplicamos las reglas de checkstyle a las fuentes de producción y de prueba.

=== Duplicate Finder

Spring Cloud Build incluye el basepom:duplicate-finder-maven-plugin, que permite marcar clases y recursos duplicados y en conflicto en el classpath de Java.

==== Configuración de Duplicate Finder

Duplicate finder está habilitado de forma predeterminada y se ejecutará en la fase verify de su compilación de Maven, pero solo tendrá efecto en su proyecto si agrega el duplicate-finder-maven-plugin a la sección build del pom.xml del proyecto.

.pom.xml [source,xml]

org.basepom.maven duplicate-finder-maven-plugin ----

Para otras propiedades, hemos establecido valores predeterminados como se enumeran en la https://github.com/basepom/duplicate-finder-maven-plugin/wiki[documentación del complemento].

Puede anularlas fácilmente estableciendo el valor de la propiedad seleccionada con el prefijo duplicate-finder-maven-plugin. Por ejemplo, establezca duplicate-finder-maven-plugin.skip en true para omitir la verificación de duplicados en su compilación.

Si necesita agregar ignoredClassPatterns o ignoredResourcePatterns a su configuración, asegúrese de agregarlos en la sección de configuración del complemento de su proyecto:

[source,xml]

org.basepom.maven duplicate-finder-maven-plugin org.joda.time.base.BaseDateTime .*module-info changelog.txt
Descargar herramienta
spring-cloud-contract
/home/username/spring-cloud-contract/src/checkstyle/checkstyle-suppressions.xml