captcha2 — C++20 验证码服务(FreeType + stb_image_write): - 完整实现: 图片生成、CaptchaStore、RateLimiter、pymsg RPC 路由 - 协议完全兼容 Python 原版,gateway 零改动 审计修复 (captcha2_SECURITY_AUDIT_20260809.md): - P0-1: 存储答案小写化 (对齐 Python 版语义) - P1-1: gateway 按 IP 限流 10/min + captcha2 全局限流 600/min 兜底 - P2-1: generate_text mt19937 → std::random_device - P2-2: ::tolower UB → unsigned char lambda - P3-1: parse_int 辅助函数, stoi 异常可诊断 - P3-2: 显式 #include <iomanip> - P3-3: 补齐 CAPTCHA_LEN/TTL/RATE_LIMIT 环境变量 - P3-4: LogC 日志超时 5.0→1.0s - P3-5: 限流/满容抛异常, gateway 映射 429/503 - P3-6: 清理死代码 集成: - core/init.txt: captcha → captcha2 - confs configs/captcha.ini: 新增 max_store/rate_limit_per_min - docs: 开发方案、安全审计报告、交叉引用更新
21 lines
418 B
Makefile
21 lines
418 B
Makefile
CXX := g++
|
|
CXXFLAGS := -std=c++20 -Wall -Wextra -O2
|
|
INCS := -I./inc -I/usr/include/freetype2
|
|
LIBS := -lus_msg -lboost_json -lboost_program_options -lfreetype -lpthread -lm
|
|
|
|
TARGET := captcha2.bin
|
|
SRC := src/main.cpp
|
|
|
|
.PHONY: all clean install
|
|
|
|
all: $(TARGET)
|
|
|
|
$(TARGET): $(SRC)
|
|
$(CXX) $(CXXFLAGS) $(INCS) $^ $(LIBS) -o $@
|
|
|
|
install: $(TARGET)
|
|
cp $(TARGET) /usr/local/bin/
|
|
|
|
clean:
|
|
rm -f $(TARGET)
|