selective/samesite-cookie

使用SameSite cookies保护您的网站

0.4.0 2023-09-09 21:25 UTC

This package is auto-updated.

Last update: 2024-09-09 23:39:07 UTC


README

A PSR-15 中间件,用于通过SameSite cookies保护您的网站 🍪

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

要求

  • PHP 8.1+

安装

composer require selective/samesite-cookie

SameSite cookies

image

Same-site cookies ("First-Party-Only" 或 "First-Party") 允许服务器通过断言特定cookie仅应与来自同一可注册域的请求一起发送,来减轻CSRF和信息泄露攻击的风险。

警告:SameSite cookies在旧浏览器和一些移动浏览器上(例如IE 10、BlackBerry、Opera Mini、IE Mobile、Android的UC浏览器)根本不起作用。

更多信息可以在此处找到

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)。请参阅许可证文件以获取更多信息。