pixelfed/app/Util/Lexer/RestrictedNames.php

183 lines
2.8 KiB
PHP

<?php
namespace App\Util\Lexer;
class RestrictedNames
{
public static $blacklist = [
'about',
'abuse',
'administrator',
'app',
'autoconfig',
'blog',
'broadcasthost',
'community',
'contact',
'contact-us',
'contact_us',
'copyright',
'd',
'dashboard',
'dev',
'developer',
'developers',
'discover',
'discovers',
'doc',
'docs',
'download',
'domainadmin',
'domainadministrator',
'email',
'errors',
'events',
'example',
'faq',
'faqs',
'features',
'ftp',
'guest',
'guests',
'help',
'hostmaster',
'hostmaster',
'image',
'images',
'imap',
'img',
'info',
'info',
'is',
'isatap',
'it',
'localdomain',
'localhost',
'mail',
'mailer-daemon',
'mailerdaemon',
'marketing',
'me',
'media',
'mis',
'mx',
'new',
'news',
'news',
'no-reply',
'nobody',
'noc',
'noreply',
'ns0',
'ns1',
'ns2',
'ns3',
'ns4',
'ns5',
'ns6',
'ns7',
'ns8',
'ns9',
'owner',
'pop',
'pop3',
'postmaster',
'pricing',
'privacy',
'root',
'sales',
'security',
'signin',
'signout',
'smtp',
'src',
'ssladmin',
'ssladministrator',
'sslwebmaster',
'status',
'support',
'support',
'sys',
'sysadmin',
'system',
'terms',
'tutorial',
'tutorials',
'usenet',
'uucp',
'webmaster',
'wpad',
'www',
];
public static $reserved = [
// Reserved for instance admin
'admin',
'administrator',
// Static Assets
'assets',
'storage',
// Laravel Horizon
'horizon',
// Reserved routes
'account',
'api',
'auth',
'css',
'checkpoint',
'c',
'i',
'dashboard',
'deck',
'discover',
'docs',
'fonts',
'home',
'img',
'js',
'login',
'logout',
'media',
'p',
'password',
'report',
'reports',
'search',
'settings',
'statuses',
'site',
'sites',
'timeline',
'timelines',
'tour',
'user',
'users',
'vendor',
'400',
'401',
'403',
'404',
'500',
'503',
'504',
];
public static function get()
{
$reserved = $blacklist = [];
if (true == config('pixelfed.restricted_names.use_blacklist')) {
$blacklist = self::$blacklist;
}
if (true == config('pixelfed.restricted_names.reserved_routes')) {
$reserved = self::$reserved;
}
return array_merge($blacklist, $reserved);
}
}