hkvstore/samesite-cookie

使用 SameSite cookies 保护您的网站

0.3.5 2023-10-12 03:39 UTC

This package is auto-updated.

Last update: 2024-09-12 05:59:03 UTC


README

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

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

要求

  • PHP 8.0+

安装

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();

配置和 session starter 中间件示例。

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