selective / samesite-cookie
使用SameSite cookies保护您的网站
0.4.0
2023-09-09 21:25 UTC
Requires
- php: ^7.2 || ^8.0
- psr/http-message: ^1
- psr/http-server-handler: ^1
- psr/http-server-middleware: ^1
Requires (Dev)
README
A PSR-15 中间件,用于通过SameSite cookies保护您的网站 🍪
要求
- PHP 8.1+
安装
composer require selective/samesite-cookie
SameSite cookies
Same-site cookies ("First-Party-Only" 或 "First-Party") 允许服务器通过断言特定cookie仅应与来自同一可注册域的请求一起发送,来减轻CSRF和信息泄露攻击的风险。
警告:SameSite cookies在旧浏览器和一些移动浏览器上(例如IE 10、BlackBerry、Opera Mini、IE Mobile、Android的UC浏览器)根本不起作用。
更多信息可以在此处找到
- SameSite cookies解释
- CSRF (跨站请求伪造) 已经(真的)死亡
- PHP setcookie “SameSite=Strict”?
- 如何在PHP中设置cookie的SameSite值?
- 我能使用SameSite吗?
Slim 4集成
<?php use Selective\SameSiteCookie\SameSiteCookieMiddleware; use Slim\Factory\AppFactory; $app = AppFactory::create(); // ... // Register the samesite cookie middleware $app->add(new SameSiteCookieMiddleware()); // ... $app->run();
配置和会话启动中间件的示例。
Slim 4使用LIFO(后进先出)中间件堆栈,因此我们必须以相反的顺序添加中间件
<?php use Selective\SameSiteCookie\SameSiteCookieConfiguration; use Selective\SameSiteCookie\SameSiteCookieMiddleware; use Selective\SameSiteCookie\SameSiteSessionMiddleware; use Slim\Factory\AppFactory; $app = AppFactory::create(); // ... // Optional: Add custom configuration $configuration = new SameSiteCookieConfiguration(); // Register the samesite cookie middleware $app->add(new SameSiteCookieMiddleware($configuration)); // Optional: Start the PHP session // Use this middleware only if you have no other session starter middleware $app->add(new SameSiteSessionMiddleware()); // ... $app->run();
许可证
MIT许可证(MIT)。请参阅许可证文件以获取更多信息。