Php 通过IP地址与域名调用API

Php 通过IP地址与域名调用API,php,dns,ip,ddos,Php,Dns,Ip,Ddos,在最近对DNS的DDoS攻击期间,我的站点无法继续运行 虽然主站点仍在运行,但我无法连接到其他域上的外部API,导致该站点完全无法使用 使用PHP获取数据: file_get_contents(API_PATH) 我目前使用域名调用API,但如果需要,我可以使用IP地址 通过IP调用API有什么优点/缺点吗 在进行此更改之前,我还有什么需要注意的吗?在API调用中使用DNS名称或IP地址实际上没有太大区别 但是,如果您更改了服务提供商,则必须同时更新DNS设置(如A记录)和代码中的IP地址,否

在最近对DNS的DDoS攻击期间,我的站点无法继续运行

虽然主站点仍在运行,但我无法连接到其他域上的外部API,导致该站点完全无法使用

使用PHP获取数据:

file_get_contents(API_PATH)
我目前使用域名调用API,但如果需要,我可以使用IP地址

通过IP调用API有什么优点/缺点吗


在进行此更改之前,我还有什么需要注意的吗?

在API调用中使用DNS名称或IP地址实际上没有太大区别

但是,如果您更改了服务提供商,则必须同时更新DNS设置(如A记录)和代码中的IP地址,否则不必执行此操作


除此之外,除非其他人想到任何其他原因,否则很好的选择。

如果您使用IP地址:

  • 如果不更新所有客户端代码,则无法将服务移动到其他服务器
  • 你不能用
  • 不能使用主机名托管在同一IP地址上

我假设您希望减轻最近DNS DDoS攻击的影响

优点:

  • 你的网站仍在运行。虽然这可能不太重要,因为没有人能够访问你的网站
缺点:

  • 如果API更改其IP地址怎么办
  • 如果API使用DNS进行负载平衡(例如,它可能在不同时间解析到不同的IP),该怎么办
  • 如果API使用CDN怎么办

我不建议这样做。

您的计算机可能缓存了已解析的主机,但尚未更新它。您需要刷新DNS缓存


使用IP地址不是一个好主意。虽然DNS提供程序可能受到攻击,但更有可能是IP发生了更改。我的意思是,很少有DNS提供商像最近这样受到如此大规模的攻击,而且更常见的情况是网站的IP地址发生了变化(尽管这种情况不应该总是正常发生)。因此,您可能希望在DNS攻击期间使用IP地址(尽管您自己的DNS提供商也可能受到攻击),但不是正常情况。如果您希望安全,如果域无法解析,请回退使用缓存的IP地址;但是无论如何,编写这种代码是毫无意义的,因为它很少有用。

Edit:删除了关于GitHub页面的部分,因为它实际上使用了
Host
HTTP头,与是否使用DNS无关。