2018-04-29 16:27:15 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App\Util\Lexer;
|
|
|
|
|
|
|
|
class RestrictedNames {
|
|
|
|
|
2018-05-23 00:45:13 +00:00
|
|
|
static $blacklist = [
|
2018-04-29 16:27:15 +00:00
|
|
|
"about",
|
|
|
|
"abuse",
|
|
|
|
"administrator",
|
|
|
|
"app",
|
|
|
|
"autoconfig",
|
|
|
|
"blog",
|
|
|
|
"broadcasthost",
|
|
|
|
"community",
|
|
|
|
"contact",
|
|
|
|
"contact-us",
|
|
|
|
"contact_us",
|
|
|
|
"copyright",
|
|
|
|
"css",
|
|
|
|
"d",
|
|
|
|
"dashboard",
|
|
|
|
"dev",
|
|
|
|
"developer",
|
|
|
|
"developers",
|
2018-05-12 02:21:56 +00:00
|
|
|
"discover",
|
|
|
|
"discovers",
|
2018-04-29 16:27:15 +00:00
|
|
|
"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",
|
|
|
|
"js",
|
|
|
|
"localdomain",
|
|
|
|
"localhost",
|
|
|
|
"login",
|
|
|
|
"logout",
|
|
|
|
"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",
|
|
|
|
"user",
|
|
|
|
"users",
|
|
|
|
"uucp",
|
|
|
|
"webmaster",
|
|
|
|
"wpad",
|
|
|
|
"www"
|
|
|
|
];
|
|
|
|
|
2018-05-23 00:45:13 +00:00
|
|
|
static $reserved = [
|
|
|
|
// Reserved for instance admin
|
|
|
|
"admin",
|
|
|
|
|
|
|
|
// Static Assets
|
|
|
|
"assets",
|
|
|
|
|
|
|
|
// Laravel Horizon
|
|
|
|
"horizon",
|
|
|
|
|
|
|
|
// Reserved route
|
|
|
|
"i",
|
|
|
|
|
|
|
|
// Official accounts
|
|
|
|
"pixelfed",
|
|
|
|
"pixelfed-support",
|
|
|
|
"pixelfed_support",
|
|
|
|
];
|
|
|
|
|
2018-04-29 16:27:15 +00:00
|
|
|
public static function get()
|
|
|
|
{
|
2018-05-23 00:45:13 +00:00
|
|
|
|
|
|
|
$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);
|
2018-04-29 16:27:15 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|