moh8med/bffs

BFFS 是一个使用 Laravel 构建的简单项目,实现了前端后端分离模式,帮助您在 API 和微服务前面构建安全防护。

维护者

详细信息

github.com/moh8med/bffs

源代码

问题

安装: 3

依赖者: 0

建议者: 0

安全: 0

星级: 28

关注者: 3

分支: 0

开放问题: 2

类型:项目

v1.0.4 2023-02-05 09:51 UTC

This package is auto-updated.

Last update: 2024-09-12 03:39:42 UTC


README

BFFS 是一个使用 Laravel 构建的简单项目,实现了前端后端分离模式,帮助您在 API 和微服务前面构建安全防护。

BFFS 的一些关键点如下

  • 实现了前端后端分离模式,分离前端和后端关注点,提高安全性。
  • 包括高级请求验证功能,例如 E.164 国际电话号码标准、密码 NIST 标准、电子邮件 RFC 和 DNS 验证、电子邮件欺骗检测以及使用 Cisco ClamAV 扫描上传的文件。
  • 使用 Redis 对请求进行速率限制,以提高安全性并降低 DDoS 攻击风险。
  • 利用 Swoole 加快响应时间,提高整体性能。
  • 使用流行的 PHP 网络应用程序框架 Laravel 构建,使其易于与现有系统集成。

功能

监控

  • 正常运行时间监控
  • SSL 证书到期
  • 电子邮件通知
  • Slack 通知

性能调整

  • 在 Octane (Swoole 或 Roadrunner) 上运行
  • API 聚合
  • 使用 Redis 进行响应缓存

安全加固

  • 可信主机
  • 将 Cloudflare IP 添加到可信代理
  • CORS 处理
  • 使用 Redis 进行速率限制
  • 通过 GeoIP2 (MaxMind DB) 限制访问

网络应用程序防火墙 (WAF)

  • 机器人:不良机器人检测
  • RFI:远程文件包含
  • XSS:跨站脚本
  • SQLi:SQL 注入

防病毒和恶意软件

  • 使用 Cisco ClamAV 扫描上传的文件

高级请求验证

  • 电子邮件 RFC 兼容性
  • 电子邮件域名 DNS
  • 电子邮件一次性/一次性域名
  • 电子邮件欺骗检测
  • 电子邮件可达性检查
  • 密码 NIST 标准
  • HaveIBeenPwned 密码检查
  • 电话国家代码检查和 E.164 标准
  • 电话号码类型:手机、固定电话等
  • 电话号码验证

入门

要开始使用 BFFS,您需要具备对 Laravel 及其依赖的基本理解。

安装

  1. 通过 composer 安装包
composer create-project moh8med/bffs
  1. 运行迁移
php artisan migrate
  1. 在 .env 文件中配置您的环境变量。

  2. 更新数据库

# update the disposable domains list
php artisan disposable:update

# retrieves and cache Cloudflare's IP blocks
php artisan cloudflare:reload

# register for a license key at www.maxmind.com
# set your MAXMIND_LICENSE_KEY in .env file
# and update the geoip database
php artisan geoip:update
  1. 创建您的第一个正常运行时间监控
# create your first monitor
php artisan monitor:create https://example.com/

# check the uptime of all sites
php artisan monitor:check-uptime
  1. 您需要安装 Cisco ClamAV 来扫描上传的文件以检测恶意软件
docker run \
    --interactive \
    --publish 13310:3310 \
    --publish 7357 \
    --tty \
    --rm \
    --name "clam_container_01" \
    clamav/clamav:unstable

然后在 .env 文件中设置 CLAMAV_SKIP_VALIDATION=false

用法

一旦服务器运行,您就可以开始向 BFFS 保护的端点发送请求。

  1. 启动服务器
php artisan octane:start --port=8001 --watch
  1. 测试您的 BFFS 服务器
curl http://127.0.0.1:8001/todos | jq

贡献

如果您想为项目做出贡献,请随时提交带有更改的拉取请求。

许可证

本项目采用 MIT 许可证。