mirror of https://github.com/pixelfed/pixelfed
				
				
				
			
			You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			183 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			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);
 | 
						|
    }
 | 
						|
}
 |