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 电子邮件
29KB
655 行
Morbo,CSP报告器
HTTP内容安全策略(CSP)的 report-to
(以及已弃用的 report-uri
)响应头指令指示用户代理报告违反内容安全策略的尝试。这些违规报告由发送到指定URI的HTTP POST请求中的JSON文档组成。
这个Rust crate是一个接收这些报告并将它们发送到电子邮件地址的端点。
安装
首先,使用cargo安装。您必须使用--features
命令行参数选择您想要接收通知的通道。
mail
和sentry
目前可用。
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