5个版本

0.2.0 2022年8月23日
0.1.3 2022年1月7日
0.1.2 2021年10月2日
0.1.1 2021年8月26日
0.1.0 2021年8月25日

#187 in 电子邮件

MIT 许可证

29KB
655

Morbo,CSP报告器

LICENSE Build Status Crates.io Version Minimum rustc version

Morbo, a CSP Reporter

HTTP内容安全策略(CSP)的 report-to(以及已弃用的 report-uri)响应头指令指示用户代理报告违反内容安全策略的尝试。这些违规报告由发送到指定URI的HTTP POST请求中的JSON文档组成。

这个Rust crate是一个接收这些报告并将它们发送到电子邮件地址的端点。

安装

首先,使用cargo安装。您必须使用--features命令行参数选择您想要接收通知的通道。

mailsentry目前可用。

cargo install morbo --features=mail,sentry

然后,设置一些环境变量

MORBO_MAILER_FROM_NAME=Example
MORBO_MAILER_FROM_EMAIL=example@example.org
MORBO_MAILER_TO_NAME=Example
MORBO_MAILER_TO_EMAIL=example@example.org
MORBO_MAILER_SMTP_HOSTNAME=localhost
MORBO_MAILER_SMTP_PORT=1025
MORBO_MAILER_SMTP_USERNAME=
MORBO_MAILER_SMTP_PASSWORD=

MORBO_SENTRY_DSN=

用法

morbo --port=8080 # (port is optionnal, default 8080)

然后,在您的web服务器中设置反向代理。例如,在nginx中

location /_/csp-reports {
    proxy_pass http://127.0.0.1:8080;
}

在您想要报告CPS的网站上设置以下头信息

Report-To: {"group": "csp-endpoint","max_age": 10886400,"endpoints": [{ "url": "http://example.org/_/csp-reports" }]});
Content-Security-Policy: default-src 'self'; report-to csp-endpoint; report-uri http://example.org/_/csp-reports;');

尽管report-uri已弃用,但并非所有浏览器都支持report-to

依赖关系

~17–33MB
~459K SLoC