在 Apache 或 PHP 中为 Web 服务器设置安全性 Headers 和 Cookie 属性?

Setting Security Headers and Cookie Attributes for web server in Apache or PHP?

我知道有一些方法可以在 PHP 中设置安全 Headers 和 Cookie 属性,但也可以在 Apache Virtualhost Config 中设置,例如:

Header edit Set-Cookie ^(.*)$ ;HttpOnly;Secure;SameSite=Strict

或:

Header always set X-Frame-Options "SAMEORIGIN"

但我也可以在 PHP 中为每个 php 文件中的每个 cookie / header 执行此操作。

是否有理由更喜欢其中一个选项?在 Apache 中做这件事似乎工作较少。 PHP?

它提供的安全性/任何理由有什么区别吗?

在 apache2 中设置这两个选项可以让您高枕无忧 - 即使您的初级开发人员添加了新脚本或功能并且没有设置所需的 cookie 属性 或 header - apache2 会支持您,俗话说。

另一方面,如果您移动到新主机,或者可能是不同的网络服务器 - 您将必须添加等效设置。

总而言之 - 我会在 PHP 中保留任何重要内容以避免意外惊喜。