keygen-sh / keygen-api

Keygen is a fair source software licensing and distribution API built with Ruby on Rails. For developers, by developers.
https://keygen.sh
Other
826 stars 55 forks source link

Reserve common subdomains #6

Closed ezekg closed 8 years ago

ezekg commented 8 years ago
class Account < ActiveRecord::Base
  RESERVED_SUBDOMAINS = %w[api app www help support doc docs documentation dashboard admin administrator root sales webmaster abuse monitor info blog git svn vcs files demo test dev develop development stage staging feeds ssh ssl secure sftp ftp mail webmail email pop pop3 imap smtp analytics stats status web]
  validates_exclusion_of :subdomain, :in => RESERVED_SUBDOMAINS, :message => 'is not allowed'
end
ezekg commented 8 years ago

Also might be easier to do something like,

validates_length_of :subdomain, minimum: 5
ezekg commented 8 years ago

And here's a crazy regex,

/admin|login|administrator|blog|dashboard|admindashboard|images?|img|files?|videos?|help|support|cname|test|cache|mystore|biz|investors?|api\d*|js|static|s\d*,ftp|e?mail,webmail|webdisk|ns\d*|register|join|registration|pop\d?|beta\d*|stage|deploy|deployment,staging|testers?|https?|donate|payments|smtp|ad|admanager|ads|adsense|adwords?|about|abuse|affiliate|affiliates|store|shop|clients?|code|community|forum?|discussions?|order|buy|cpanel|store|payment|whm|dev|devel|developers?|development|docs?|whois|signup|gettingstarted|home|invoice|invoices|ios|ipad|iphone|logs?|my|status|networks?|new|newsite|news|partner|partners|partnerpage|popular|wiki|redirect|random|public|resolver|sandbox|search|servers?|service,uploads?|validation|signin|signup|sitemap|sitenews|sites|sms|sorry|ssl|staging,features|stats?|statistics?|graphs?|surveys?|talk|trac|git|svn|translate|validations|webmaster|www\d*|feeds?|rss|asset[s\d]*|cp\d*|control panel|online|media|jobs?|secure|demo|i\d*|img\d*|css\d*|js\d*/
ezekg commented 8 years ago

Here's a list of alphabetized reserved words.

A
about access account accounts add address adm admin administration adult
advertising affiliate affiliates ajax analytics android anon anonymous
api app apps archive atom auth authentication avatar
B
backup banner banners bin billing blog blogs board bot
bots business
C
chat cache cadastro calendar campaign careers cgi client cliente code comercial
compare config connect contact contest create code compras css
D
dashboard data db design delete demo design designer dev devel dir
directory doc docs domain download downloads
E
edit editor email ecommerce
F
forum forums faq favorite feed feedback flog follow file files free ftp
G
gadget gadgets games guest group groups
H
help home homepage host hosting hostname html http httpd https hpg
I
info information image img images imap index invite intranet indice
ipad iphone irc
J
java javascript job jobs js
K
knowledgebase
L
log login logs logout list lists
M
mail mail1 mail2 mail3 mail4 mail5 mailer mailing mx manager marketing
master me media message microblog microblogs mine mp3 msg msn mysql
messenger mob mobile movie movies music musicas my
N
name named net network new news newsletter nick nickname notes noticias
ns ns1 ns2 ns3 ns4
O
old online operator order orders
P
page pager pages panel password perl pic pics photo photos photoalbum
php plugin plugins pop pop3 post postmaster
postfix posts profile project projects promo pub public python
R
random register registration root ruby rss
S
sale sales sample samples script scripts secure send service shop
sql signup signin search security settings setting setup site
sites sitemap smtp soporte ssh stage staging start subscribe
subdomain suporte support stat static stats status store stores system
T
tablet tablets tech telnet test test1 test2 test3 teste tests theme
themes tmp todo task tasks tools tv talk
U
update upload url user username usuario usage
V
vendas video videos visitor
W
win ww www www1 www2 www3 www4 www5 www6 www7 wwww wws wwws web webmail
website websites webmaster workshop
X
xxx xpg
Y
you yourname yourusername yoursite yourdomain
ezekg commented 8 years ago

I'm about to just say eff the subdomains. I don't think I'll ever do emails, but still.

admin@
administrator@
postmaster@
hostmaster@
webmaster@