什么是授权码?
授权码(auth code),也称 EPP code、转移码或域名密钥,是分配给每个域名的唯一密码。域名从一个注册商转移到另一个注册商时必须提供此代码,它是防止未经授权转移的安全机制。
授权码如何工作
域名转移安全模型
转移过程中,授权码用于证明域名所有权:
1. 域名所有者向当前注册商请求授权码
2. 注册商提供唯一代码(通常为 6-16 个字母数字字符)
3. 所有者在新注册商处发起转移
4. 提交授权码作为授权证明
5. 只有代码匹配时转移才会继续
6. 当前注册商确认,或在 5 天后自动批准
授权码格式
授权码通常具有以下特征:
Length: 8-16 characters
Format: Alphanumeric (letters + numbers)
Case: Usually case-sensitive
Example: Xy8#kL2$pQ9m
Validity: No expiration (remains same until regenerated)
获取授权码
从主要注册商获取
GoDaddy:1. 登录账户
2. 打开域名设置
3. 点击“Transfer domain away from GoDaddy”
4. 查看或接收通过邮件发送的授权码
Namecheap:1. Domain List → Manage
2. 滚动到“Auth Code”
3. 点击“Get EPP Code”
4. 代码发送到管理员邮箱
Google Domains:1. 选择域名
2. 点击“Transfer out”
3. 获取授权码
4. 解锁域名
Cloudflare:1. 打开 Domain Overview
2. 进入 Configuration → Transfer
3. 获取授权码
4. 移除转移锁定
常见获取方式
控制面板:- 大多数注册商会在域名设置中提供“Get Auth Code”
- 通常立即显示
- 部分注册商要求通过邮件请求
- 发送到域名管理员联系邮箱
- 通常数分钟至数小时内送达
- 旧式注册商可能要求提交支持工单
- 可能需要验证身份
- 处理时间更长
授权码要求
获取授权码的前置条件
1. 验证域名所有权- 必须以域名所有者身份登录
- 能访问管理员联系邮箱
- 可能需要通过双因素认证
✓ Domain unlocked (transfer lock disabled)
✓ Not in redemption period
✓ No active UDRP dispute
✓ Not within 60 days of registration or previous transfer
✓ Admin email verified and accessible
3. 账户状态
- 没有未支付款项
- 账户状态正常
- 没有安全锁定
域名转移流程
使用授权码逐步转移
阶段 1:准备(在当前注册商处)Day 0:
1. Unlock domain
2. Disable WHOIS privacy (temporarily)
3. Verify admin contact email is accessible
4. Obtain auth code
5. Document current DNS settings
阶段 2:发起(在新注册商处)
Day 0:
1. Start transfer process at new registrar
2. Enter domain name
3. Provide auth code
4. Confirm admin contact email
5. Pay transfer fee (typically includes 1-year extension)
阶段 3:确认
Day 0-1:
1. Email sent to admin contact
2. Approve transfer via email link
3. Current registrar notified
4. 5-day approval window starts (or immediate with approval)
阶段 4:完成
Day 1-7:
1. Current registrar approves (or auto-approves after 5 days)
2. Domain transfers to new registrar
3. Registration extended by 1 year
4. Transfer complete
转移时间线
Immediate: New registrar receives request
Day 0-1: Approval email sent to admin contact
Day 1-5: Waiting period (unless manually approved)
Day 5: Auto-approval if current registrar doesn't respond
Day 5-7: Transfer completes
授权码安全
为什么必须使用授权码
没有授权码,域名劫持会变得非常容易:
Without Auth Code:
Attacker initiates transfer → Domain stolen
With Auth Code:
Attacker initiates transfer → Requires auth code → Blocked
保护授权码
最佳实践:1. 不要公开分享:绝不在网上发布授权码
2. 使用安全传输:通过加密邮件或安全渠道发送
3. 使用后重新生成:转移完成后请求新的授权码
4. 核实接收方:确认分享对象是真正的新注册商
5. 启用转移锁:不转移时保持域名锁定
安全警告
授权码钓鱼:Fake Email:
"Your domain is expiring! Provide your auth code to renew."
Legitimate Email:
Never asks for auth code unless YOU initiated transfer.
社交工程:
- 攻击者可能冒充支持人员索要授权码
- 始终通过注册商官方渠道核实
- 任何自称“支持人员”的人索要授权码时都不要提供
常见授权码问题
问题:授权码无法使用
原因:- 输入代码时有拼写错误(区分大小写)
- 域名仍处于锁定状态
- 代码已过期或已重新生成
- WHOIS 隐私保护已启用
- 输入了错误的域名
1. Double-check exact code (copy/paste)
2. Verify domain is unlocked
3. Request fresh auth code
4. Disable WHOIS privacy temporarily
5. Confirm domain spelling
问题:无法获取授权码
原因:- 域名被锁定
- 最近注册(少于 60 天)
- 付款问题
- 安全锁定
- 注册商限制
1. Check domain lock status: dig example.com | grep clientTransferProhibited
2. Verify 60-day eligibility
3. Resolve outstanding payments
4. Contact registrar support for holds
5. Review registrar transfer policies
问题:没有收到邮件
原因:- 垃圾邮件过滤
- 管理员邮箱不正确
- 邮件转发问题
- 注册商延迟
1. Check spam/junk folder
2. Verify admin contact email in WHOIS
3. Wait 1-2 hours
4. Request resend
5. Update contact email if incorrect
授权码与转移锁的区别
转移锁(注册商锁定)
这是另一项安全功能:
Transfer Lock: Prevents transfer initiation at registrar level
Auth Code: Proves authorization when transfer is initiated
Both Required for Secure Transfer:
1. Unlock domain (disable transfer lock)
2. Provide auth code (prove authorization)
域名状态码
与转移相关的 EPP 状态码:
clientTransferProhibited → Transfer locked by registrar
serverTransferProhibited → Transfer locked by registry
transferPeriod → Currently transferring
# Check status:
whois example.com | grep -i transfer
特殊转移场景
溢价域名
溢价域名可能具有:
- 更高的转移费用
- 额外的验证要求
- 更长的审批时间
- 特殊的授权码获取流程
过期域名
过期域名的授权码状态:
Grace Period: Auth code still available
Redemption Period: Must restore before transfer (high fee)
Pending Delete: No transfers allowed
多域名转移
批量转移时应注意:
# Obtain auth codes for all domains
for domain in domain1.com domain2.com domain3.com; do
echo "Auth code for $domain: [request from registrar]"
done
# Organize codes securely
domains_authcodes.txt:
domain1.com → Xy8#kL2$pQ9m
domain2.com → Mz3%nB5@hR7k
domain3.com → Pq4&vN8!dS2w
检查是否符合转移条件
转移前清单
# 1. Check domain lock status
whois example.com | grep -i "Status:"
# 2. Verify registration date
whois example.com | grep -i "Creation Date:"
# 3. Check last transfer date
whois example.com | grep -i "Updated Date:"
# 4. Verify admin email is accessible
whois example.com | grep -i "Admin Email:"
# 5. Confirm DNS is documented (for continuity)
dig example.com ANY
使用 DomScan
curl "https://domscan.net/v1/health?domain=example.com"
# Returns transfer eligibility information:
# - Lock status
# - Registration date
# - Transfer lock details
最佳实践
转移前
1. 记录当前配置:
- DNS 记录
- 邮件设置
- SSL 证书
- 名称服务器
2. 降低 DNS TTL(可选):
24-48 hours before transfer, set TTL to 300 seconds
Allows quick DNS changes if needed
3. 备份域名数据:
- 导出区域文件
- 截图保存 DNS 设置
- 保存 MX 和 TXT 记录
转移期间
1. 监控邮件:频繁检查管理员联系邮箱
2. 及时批准:不要等待 5 天自动批准
3. 验证 DNS 连续性:确保转移期间 DNS 仍能解析
4. 检查网站和邮件:确认没有中断
转移后
1. 确认转移完成:在新注册商处确认域名
2. 重新启用转移锁:立即锁定域名
3. 配置 DNS:需要时在新注册商处设置 DNS
4. 恢复隐私保护:重新启用 WHOIS 隐私
5. 恢复 TTL:将 DNS TTL 恢复为正常值
6. 全面测试:确认网站、邮件和各项服务正常
授权码的替代方案
推送转移
同一注册商内部的转移:
- 不需要授权码
- 账户之间直接转移
- 通常立即完成
- 通常免费
注册局转移
部分 ccTLD 使用不同系统:
- .uk:IPS tag 系统
- .au:采用不同流程的 EPP
- .de:AuthInfo-2 系统
域名转移是域名管理中的关键操作。授权码提供了必要的安全保障,了解其获取、使用和保护方式,才能顺利完成转移并防止未经授权的域名被盗。