私は SaaS (サービスとしてのソフトウェア) Web アプリに取り組んでおり、別のアカウントにサブドメインを使用しています。
ユーザーが使用できないようにする必要があるサブドメインはどれですか。
私が現在持っているものは...管理者、管理者、ブログ、サポート、ヘルプです。それについて Quora で質問を見たのを覚えていますが、もう見つかりません。
ご提案いただきありがとうございます。ここで見つけることができるサブドメインの負荷をブロックするための Rubygem を作成しました - https://github.com/deanperry/saas_deny_subdomains
deny_subdomains :subdomain
フィールドに (:subdomain)を追加するだけで、サブドメインの膨大なリストをブロック/拒否します。
これがPHPの私のバージョンです。私は私のもの+スレッドで提案されたもの+ディーンペリーのものを追加しました。いくつかの正規表現を使用することで、多くのシナリオをカバーできました。
/**
* Checks if the subdomain is good. e.g. forbidden names are: ssl, secure, test, tester etc.
* @see http://stackoverflow.com/questions/11868191/which-saas-subdomains-to-block
* @see https://github.com/deanperry/saas_deny_subdomains/blob/master/lib/saas_deny_subdomains/subdomains.rb
* @return boolean
*/
public function isSubdomainAvailable($subdomain) {
$banned_subdomains_csv = '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*';
$regex = $banned_subdomains_csv;
$regex = preg_replace('#\s#si', '', $regex); // rm new lines, spaces etc
$regex = preg_replace("#,+#si", '|', $regex); // more than one comma
$regex = trim($regex, ','); // remove any leading/trailing commas
$regex = '#^(?:' . $regex . ')$#si'; // let's create a nice regex.
$status = !preg_match($regex, $subdomain); // without main domain added
return $status;
}
スラヴィ語
言及されたものに加えて:
また、独自の名前とバリエーションを予約することもできます。
編集:ちょっと考えただけで、おそらくやり過ぎですが、i.example.com(「i」は内部用)のようなものを予約することも検討できます。そうすれば、 *.i.example.com の名前空間全体が得られます内部使用。
ビューに名前を付けるには: