toomastorres/maritime-agency-web

GitHub: toomastorres/maritime-agency-web

一个基于 PHP 8.2 和 MySQL 的海运代理机构网站加内部管理 Portal 全栈模板,集成多语言机构展示、RBAC 权限管理和审计功能。

Stars: 0 | Forks: 0

# 🌐 机构网站 + 内部 Portal — 海运代理 ![PHP](https://img.shields.io/badge/PHP-8.2-777BB4?logo=php&logoColor=white) ![MySQL](https://img.shields.io/badge/MySQL-8-4479A1?logo=mysql&logoColor=white) ![JS](https://img.shields.io/badge/JS-Vanilla-F7DF1E?logo=javascript&logoColor=black) ![Docker](https://img.shields.io/badge/Demo-Docker%20Compose-2496ED?logo=docker&logoColor=white) ![License](https://img.shields.io/badge/License-MIT-green) [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/709ec8d40a131517.svg)](https://github.com/toomastorres/maritime-agency-web/actions/workflows/ci.yml) ![网站预览图](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/a3a8143dd2131524.svg) ## 功能特性 **公开网站** - 多语言(ES/EN/IT/PT),自带 i18n 系统(`src/i18n/*.json`)。 - 机构页面、服务(包含 D3 地图)、 schedules(读取 Excel), 新闻、汇率以及法律页面。 - 内部 API(`src/logic/api/*`),用于报价、职位空缺、文档、 申请(上传 CV)和 healthcheck。 **内部 Portal(`/gestion-interna-agencia/`)** - 身份验证采用 **sessions、CSRF、rate limiting** 以及 NIST 风格的密码策略 (包含常见密码黑名单)。 - **RBAC**:每个角色只能看到属于自己的模块(RRHH、Caja/汇率、Customer Service、文档、用户管理)。 - 操作审计(`admin_audit_logs`)以及邮件发送审计。 ## 架构 ``` ├── index.php # Front controller (router + headers de seguridad) ├── src/ │ ├── config/ # Configuración (lee .env / env del hosting) │ ├── core/ # PDO, EmailService (PHPMailer), utils, parsers XLSX │ ├── components/ # Header / footer reutilizables │ ├── pages/ # Vistas públicas │ ├── logic/api/ # Endpoints JSON (GET de datos, POST de formularios) │ ├── i18n/ # Diccionarios de traducción │ └── email-templates/ # Plantillas HTML de notificaciones ├── private/gestion-interna-agencia/ │ ├── includes/ # auth.php (sesiones/CSRF/rate-limit), db.php, password_policy.php │ └── views/ # Módulos del panel (RRHH, caja, CS, usuarios, auditoría) ├── database/ # install.sql (schema) + seed (datos ficticios) + reset └── docs/ # Documentación técnica (BACKEND, FRONTEND, ADMIN_PORTAL, ...) ``` ### 请求流程 ``` flowchart LR REQ[Request] --> HT[.htaccess
rewrite] --> FC[index.php
front controller] FC -->|ruta pública| PG[src/pages + API JSON] FC -->|/gestion-interna-agencia| AUTH{auth.php
sesión + CSRF + RBAC} AUTH -->|ok| ADM[Vistas del panel] AUTH -->|no| LOGIN[Login] PG --> DB[(MySQL · PDO)] ADM --> DB ``` 关键设计决策:所有数据访问均使用 prepared statements (PDO),通过 `.env` 实现 按环境的配置分离,依赖项的条件加载(如果缺少 `vendor/` 会优雅降级), 并在 front controller 中设置安全 headers(兼容 CSP)。 ## 本地 Demo(Docker) ``` cp .env.example .env # opcional: el compose ya pasa las credenciales por entorno docker compose up --build ``` - 公开网站: - 内部 Portal: MySQL 会自动使用 schema(`database/install.sql`)和示例数据进行 初始化。要创建首个 admin 用户,请参阅 [docs/PROVISION_USUARIOS.md](docs/PROVISION_USUARIOS.md)。 ## 技术栈 PHP 8.2 · MySQL 8 (PDO) · 原生 JavaScript + D3.js · PHPMailer (SMTP) · Apache(`.htaccess`:rewrite + cache) · Composer · Docker / Docker Compose。 ## 安全性 `.env`、logs 和 uploads 已通过 [.gitignore](.gitignore) 排除。凭据 通过环境变量注入;本代码库不包含任何 secret 或真实数据。 ## ♻️ 适用对象 / 如何复用? 这是一个适用于 **机构网站 + 带有 login 和 roles (RBAC) 的 intranet** 的 PHP 模板,无需依赖笨重的框架。 若要进行适配:请配置你的 `.env`,运行 `database/install.sql`,并复用 `private/` 中的 portal (包含 CSRF、rate-limiting 和密码策略的 auth)以及 `src/core` 层(PDO、EmailService、i18n)。 最后通过 `docker compose up` 启动所有服务。
标签:Docker, ffuf, OpenVAS, PHP, RBAC权限控制, Syscall, Web开发, 企业门户, 内部管理系统, 国际化, 安全防御评估, 版权保护, 请求拦截