]> git.mxchange.org Git - friendica.git/commitdiff
Add /.well-known/security.txt route and module
authorHypolite Petovan <hypolite@mrpetovan.com>
Wed, 10 Mar 2021 14:58:48 +0000 (09:58 -0500)
committerHypolite Petovan <hypolite@mrpetovan.com>
Wed, 10 Mar 2021 14:58:48 +0000 (09:58 -0500)
src/Module/WellKnown/SecurityTxt.php [new file with mode: 0644]
static/routes.config.php

diff --git a/src/Module/WellKnown/SecurityTxt.php b/src/Module/WellKnown/SecurityTxt.php
new file mode 100644 (file)
index 0000000..9cdcde0
--- /dev/null
@@ -0,0 +1,43 @@
+<?php
+/**
+ * @copyright Copyright (C) 2020, Friendica
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace Friendica\Module\WellKnown;
+
+use Friendica\BaseModule;
+
+/**
+ * Standardized way of exposing metadata about the project security policy
+ * @see https://securitytxt.org
+ */
+class SecurityTxt extends BaseModule
+{
+       public static function rawContent(array $parameters = [])
+       {
+               $name = 'security.txt';
+               $fp = fopen($name, 'rt');
+
+               header('Content-type: text/plain; charset=utf-8');
+               header("Content-Length: " . filesize($name));
+
+               fpassthru($fp);
+               exit;
+       }
+}
index 031f6082b147dbf9f2ac7adf3b5b1e9c1d9b126b..1f3e9fa9f06dd24e0e80d6b148b299af575e442c 100644 (file)
@@ -44,6 +44,7 @@ return [
        '/.well-known' => [
                '/host-meta'      => [Module\WellKnown\HostMeta::class,     [R::GET]],
                '/nodeinfo'       => [Module\WellKnown\NodeInfo::class,     [R::GET]],
+               '/security.txt'   => [Module\WellKnown\SecurityTxt::class,  [R::GET]],
                '/webfinger'      => [Module\Xrd::class,                    [R::GET]],
                '/x-nodeinfo2'    => [Module\NodeInfo210::class,            [R::GET]],
                '/x-social-relay' => [Module\WellKnown\XSocialRelay::class, [R::GET]],