Sobre el proyecto
Este paquete ofrece una solución PHP completa para trabajar con el formato security.txt definido en RFC 9116. Permite a los desarrolladores crear programáticamente archivos security.txt, analizar los existentes y realizar una validación integral de su contenido y ubicación en un servidor.
Funcionalidades principales:
- **Generación**: Construya un objeto SecurityTxt, agregue contactos, reconocimientos, idiomas preferidos, fechas de expiración y otros campos, luego genere un archivo de texto correctamente formateado.
- **Análisis**: Cargue el security.txt desde una cadena, un resultado obtenido o una URL remota, extrayendo todos los campos y detectando líneas con formato incorrecto.
- **Validación**: Verifique que un archivo security.txt cumpla con la especificación, comprobando campos obligatorios, URLs correctas, uso de HTTPS, cobertura de firmas, redirecciones, entre otros. La validación puede realizarse sobre contenido local o obteniendo datos del servidor, con informes detallados de errores y advertencias.
- **Soporte de firmas**: Cree firmas OpenPGP en texto claro de forma programática (requiere la extensión gnupg) o utilice archivos estáticos previamente firmados. La biblioteca valida firmas pero no verifica la confianza de las claves, dejando esa tarea al investigador.
- **Herramienta CLI**: Un script de línea de comandos (`checksecuritytxt.php`) permite validar rápidamente cualquier servidor, útil en pipelines CI o GitHub Actions.
- **Serialización JSON**: Los resultados de validación o obtención pueden codificarse en JSON para caché, procesamiento serverless o comunicación entre procesos, con manejo de formato controlado por versión.
- **Control de obtención**: Descargas seguras con restricciones estrictas (solo HTTPS, validación de IP, límites de redirección, límites de tamaño, proveedores de DNS personalizados y personalización del user-agent).
- **Caché**: Integraciones de ejemplo con cachés de Symfony y Nette permiten firmar y servir archivos security.txt sin recalcularlos en cada solicitud.
La biblioteca está diseñada tanto para integración en el lado del servidor como para uso en línea de comandos, ofreciendo amplias opciones de configuración (modo estricto, umbrales de advertencia, manejo de IPv6, etc.) mientras mantiene una API orientada a objetos clara. Compatible con PHP 8.5 y versiones posteriores, con extensiones opcionales para curl y gnupg que habilitan la obtención remota y la verificación de firmas.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.