Skip to content

Instantly share code, notes, and snippets.

@jacurtis
Last active March 3, 2019 04:03
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jacurtis/e4655cb15f81a047f84193fbf41c2050 to your computer and use it in GitHub Desktop.
Save jacurtis/e4655cb15f81a047f84193fbf41c2050 to your computer and use it in GitHub Desktop.
This is a JSON (or compatible with most language arrays) array that contains a list of subdomains that you want to reserve in multi-tentant applications.
[
"a",
"aa",
"about",
"abuse",
"access",
"account",
"accounts",
"ad",
"admin",
"administrator",
"administrators",
"ads",
"adserver",
"adv",
"affiliate",
"affiliates",
"alpha",
"analytics",
"api",
"app",
"apps",
"archive",
"asset",
"assets",
"atom",
"auth",
"auto",
"autoconfig",
"aws",
"b",
"b2b",
"backup",
"backups",
"bb",
"bbs",
"bbt",
"bd",
"beta",
"billing",
"blog",
"blogs",
"board",
"book",
"bookmark",
"bookmarks",
"bot",
"bots",
"broadcast-ip",
"bug",
"bugs",
"business",
"c",
"cache",
"cal",
"calendar",
"careers",
"cdn",
"chat",
"click",
"client",
"clients",
"cloud",
"cms",
"cn",
"code",
"comment",
"comments",
"communities",
"community",
"connect",
"contact",
"content",
"contributors",
"control",
"copyright",
"corp",
"cp",
"cpanel",
"create",
"crm",
"css",
"cssproxy",
"customize",
"d",
"dashboard",
"data",
"db",
"dbadmin",
"dc",
"de",
"delete",
"delta",
"demo",
"design",
"destroy",
"dev",
"devel",
"develop",
"developer",
"developers",
"development",
"diagnostics",
"direct",
"directory",
"diversity",
"dmca",
"dns",
"doc",
"docs",
"dom",
"domain",
"domains",
"dow",
"download",
"downloads",
"e",
"east",
"e-mail",
"edit",
"edu",
"email",
"embed",
"embedded",
"en",
"eng",
"english",
"enterprise",
"es",
"event",
"events",
"example",
"exchange",
"explore",
"f",
"facebook",
"faq",
"faqs",
"favorite",
"favorites",
"fax",
"fb",
"fcx",
"feed",
"feedback",
"feeds",
"file",
"files",
"finance",
"firewall",
"form",
"forms",
"forum",
"forums",
"foto",
"fr",
"free",
"friend",
"friends",
"fs",
"ftp",
"fw",
"g",
"gallery",
"game",
"games",
"gate",
"gateway",
"ge",
"general",
"get",
"gift",
"gis",
"git",
"global",
"gm",
"gmail",
"go",
"google",
"gov",
"group",
"groups",
"guard",
"guide",
"guides",
"health",
"help",
"home",
"host",
"hosting",
"hostmaster",
"hr",
"html",
"i",
"icon",
"icons",
"id",
"idp",
"im",
"image",
"images",
"imap",
"img",
"in",
"inbox",
"index",
"info",
"insight",
"insights",
"intel",
"international",
"intra",
"intranet",
"invite",
"ip",
"ipconfig",
"iphone",
"ipv4",
"ipv6",
"irc",
"it",
"jabber",
"job",
"jobs",
"knowledgebase",
"lab",
"labs",
"legacy",
"legal",
"library",
"libs",
"link",
"links",
"linux",
"list",
"lists",
"live",
"local",
"localhost",
"logs",
"login",
"loop",
"m",
"mac",
"mail",
"mailadmin",
"mailer",
"mailhost",
"mailing",
"mailman",
"mailserver",
"main",
"manage",
"map",
"maps",
"market",
"marketing",
"mass",
"master",
"media",
"member",
"members",
"messages",
"microsoft",
"mirror",
"mmc",
"mms",
"mobile",
"monitor",
"monitoring",
"mood",
"mrtg",
"ms",
"mssql",
"mx",
"my",
"mysql",
"nation",
"national",
"nav",
"net",
"nets",
"network-ip",
"new",
"news",
"newsletter",
"next",
"nl",
"noc",
"north"
"ns",
"ntp",
"ntp1",
"office",
"official",
"old",
"oldmail",
"omni",
"one",
"online",
"oracle",
"origin",
"outlook",
"owa",
"p",
"pages",
"paid",
"panel",
"park",
"partner",
"partners",
"pay",
"payment",
"payments",
"paypal",
"pbx",
"pda",
"pg",
"pge",
"pgs",
"pgsql",
"photo",
"photos",
"php",
"phpmyadmin",
"pics",
"picture",
"pictures",
"plain",
"pm",
"policy",
"pop",
"pop3",
"portal",
"post",
"postmaster",
"pr",
"press",
"preview",
"price",
"prices",
"principal",
"privacy",
"private",
"pro",
"prod",
"product",
"production",
"products",
"pro",
"profile",
"project",
"projects",
"promo",
"proxy",
"public",
"purge",
"qa",
"quantum",
"redirect",
"region",
"regions",
"register",
"relay",
"remote",
"report",
"reports",
"research",
"reviews",
"root",
"router",
"rss",
"ru",
"s",
"sales",
"salesforce",
"sandbox",
"search",
"secure",
"seo",
"server",
"service",
"services",
"setting",
"settings",
"sftp",
"share",
"sharepoint",
"shop",
"shopping",
"show",
"sip",
"site",
"sitebuilder",
"sitemap",
"sites",
"sms",
"smtp",
"social",
"software",
"south",
"sp",
"spam",
"speed",
"speedtest",
"sport",
"sports",
"sql",
"ssh",
"ssl",
"sso",
"st",
"staff",
"stage",
"staging",
"start",
"stat",
"stats",
"static",
"statistics",
"stats",
"status",
"storage",
"store",
"stream",
"streaming",
"student",
"style",
"styles",
"support",
"survey",
"system",
"tag",
"tags",
"team",
"teams",
"tech",
"temp",
"terms",
"termsofservice",
"test",
"testing",
"the",
"thumbs",
"ticket",
"tickets",
"time",
"tmp",
"tool",
"tools",
"tos",
"track",
"tracker",
"tracking",
"train",
"training",
"travel",
"travelers",
"ts",
"tv",
"uk",
"unfi",
"up",
"update",
"updates",
"upgrade",
"upgrades",
"upload",
"us",
"user",
"username",
"usernames",
"users",
"utc",
"v",
"vfc",
"video",
"videos",
"vip",
"visa",
"vod",
"voip",
"volunteer",
"volunteers",
"vpn",
"vps",
"w",
"w3",
"wap",
"web",
"webconf",
"webdisk",
"webhook",
"webhooks",
"webmail",
"webmaster",
"west",
"wifi",
"wiki",
"wm",
"wnr",
"wordpress",
"work",
"wp",
"ws",
"ww",
"ww1",
"ww2",
"ww3",
"www",
"www2",
"xml",
"xmpp",
"y",
"yes",
"yaml",
"yum",
"z",
"zimmerbiomet"
]
@jacurtis
Copy link
Author

jacurtis commented Aug 5, 2018

This is a JSON (or compatible with most language arrays) array that contains a list of subdomains that you want to reserve in multi-tentant applications.

For example, you wouldn't want someone to use the subdomain email for their account, reserving the domain email.yourdomain.com for their account, instead of a more practical use like your company's email. There are many subdomains that you don't think of that you might want to use down the road, so it is good to have a list of subdomains that you don't want to give out to user accounts.

When creating a new account now you will check the requested (or generated) username against this list, and then check for uniqueness in your application (to make sure no other accounts are already using it).

Recommendation: I also, personally recommend restricting any account username to being > 4 characters. This way all short usernames can be created or reserved for your internal use. You can always abbreviate something in the future down to <4 characters and know that it will not interfere with user account subdomains.

@khoirxz
Copy link

khoirxz commented Mar 3, 2019

thank you, this really helped me

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment