Browse Source

reg: Prevent registration of some subdomains

Miraty 2 years ago
parent
commit
109df94b5a
2 changed files with 244 additions and 1 deletions
  1. 4 1
      pages/reg/register.php
  2. 240 0
      pages/reg/reserved.txt

+ 4 - 1
pages/reg/register.php

@@ -7,7 +7,10 @@ if (processForm()) {
 	$domain = formatAbsoluteDomain($_POST['subdomain'] . '.' . CONF['reg']['registry']);
 
 	if (query('select', 'registry', ['domain' => $domain], 'domain') !== [])
-		userError("Ce domaine n'est pas disponible à l'enregistrement. Il est réservé ou déjà enregistré.");
+		userError("Ce domaine n'est pas disponible à l'enregistrement. Il est déjà enregistré.");
+
+	if (in_array($_POST['subdomain'], explode("\n", file_get_contents(CONF['common']['root_path'] . '/pages/reg/reserved.txt'))))
+		userError("Ce domaine n'est pas disponible à l'enregistrement. Il est réservé.");
 
 	$db = new PDO('sqlite:' . DB_PATH);
 	$stmt = $db->prepare("INSERT INTO registry(domain, username, last_renewal) VALUES(:domain, :username, :last_renewal)");

+ 240 - 0
pages/reg/reserved.txt

@@ -0,0 +1,240 @@
+# List of subdomains not available to register
+#
+# They may be forbidden because:
+# - they may be privileged for impersonating Niver, spamming or fishing
+# - they are reserved for a project asking for it and deserving such a well-known name
+
+niver
+
+# Registry-related
+nic
+domain
+domains
+reg
+registry
+
+# Special subdomains
+autoconfig
+autodiscover
+
+# Special TLDs
+example
+invalid
+test
+local
+localhost
+onion
+
+# Standard-related
+ns0
+ns1
+ns2
+ns3
+ns4
+ns5
+ns6
+ns7
+ns8
+ns9
+dns
+dns0
+dns1
+dns2
+dns3
+dns4
+dns5
+dns6
+dns7
+dns8
+dns9
+www
+wwww
+www0
+www1
+www2
+www3
+www4
+www5
+www6
+www7
+www8
+www9
+srv
+srv0
+srv1
+srv2
+srv3
+srv4
+srv5
+srv6
+srv7
+srv8
+srv9
+ssh
+sftp
+http
+https
+ssl
+tls
+mtx
+gmi
+gemini
+ftp
+ftps
+imap
+imaps
+smtp
+smtps
+pop
+xmpp
+fedi
+html
+rss
+ipv4
+ipv6
+
+# Prevent account fishing
+account
+accounts
+register
+profile
+signup
+login
+auth
+authenticate
+connect
+
+# Commercial
+com
+free
+trial
+ads
+bank
+banks
+business
+customer
+customers
+store
+stores
+shop
+shops
+job
+jobs
+marketing
+sales
+
+# Miscellaneous
+org
+net
+com
+gov
+gouv
+edu
+api
+cdn
+support
+admin
+web
+dev
+host
+portal
+beta
+alpha
+demo
+vpn
+temp
+root
+data
+stats
+chat
+about
+remote
+portal
+boost
+core
+learn
+community
+meta
+news
+public
+online
+join
+mobile
+tech
+space
+zone
+name
+access
+search
+static
+secure
+security
+bbs
+help
+info
+code
+doc
+docs
+server
+servers
+client
+clients
+mail
+mails
+email
+emails
+webmail
+site
+sites
+website
+websites
+blog
+blogs
+gemlog
+gemlogs
+capsule
+capsules
+source
+sources
+update
+updates
+forum
+forums
+service
+services
+ressource
+ressources
+image
+images
+video
+videos
+radio
+radios
+music
+map
+maps
+app
+apps
+dev
+devs
+developer
+developers
+social
+cloud
+clouds
+network
+networks
+survey
+surveys
+build
+builds
+upload
+uploads
+download
+downloads
+content
+contents
+drive
+drives
+home
+homes