标签: 网络安全

  • 为什么及如何修改WordPress默认登录链接

    为什么及如何修改WordPress默认登录链接

    一个强大的、独特的密码可以帮助防止对你的WordPress网站的未授权访问。然而,攻击者有聪明的方法来绕过这一点。因此,这并不总是足以适当地保护你的网站免受攻击。

    幸运的是,你可以通过把你的WordPress登录页面移到一个新的URL上,来减少黑客进入你的网站的风险。这可以使你处于一个更好的位置来防御黑客和暴力攻击。

    这篇文章将仔细看看为什么你应该考虑改变你的WordPress登录网址。然后,我们将告诉你如何找到你的登录URL,并使用两种不同的方法修改它。

    为什么修改WordPress默认登录链接

    由于WordPress没有隐藏你的登录页面,任何用户都可以找到它,只要他们知道WordPress是如何构造它的URL的。一个登录页面的默认结构看起来像这样:

    https://example.com/wp-login.php

    这意味着当用户将你的网站名称插入上述URL结构时,他们应该在浏览器中看到一个页面,提示他们登录到你的网站后端:

    当然,用户会缺乏进入你的网站的凭证。

    为了简单起见,许多人喜欢坚持使用这种默认的wp-login结构来登录WordPress。然而,如果让它保持原样,你实际上是把你的一半登录凭证交给了攻击者。

    如果你的密码很普通,很弱,很容易被猜中,这就特别危险。简而言之,这是一个不必要的漏洞,很容易解决。

    你可以通过改变你的WordPress登录URL来更彻底地保护你的登录页面。因此,你可以防止未经授权访问你的网站,减少暴力攻击的风险。

    如何找到你的WordPress登录URL

    正如我们在上一节提到的,WordPress使用一个标准的登录链接结构,看起来像这样:

    https://example.com/wp-login.php

    所以,你所要做的就是把后缀加到你的域名上,然后你应该登陆到你的登录页面。你也可以在登出时尝试访问你的WordPress仪表板来找到你的登录页面。只要在搜索栏中输入 “yourwebsite.com/wp-admin“,你就会登陆到相同的登录页面。

    然而,请记住,有些虚拟主机出于安全原因会自动改变你的WordPress登录页面。因此,你可能已经有一个自定义的登录URL。我们将在下一节告诉你如何找到它。

    如何找到一个自定义的WordPress登录链接

    如果你的虚拟主机改变了你的登录网址,你通常可以从电子邮件中找回它,或者在你的控制面板中找到它。有些主机甚至包括一键访问WordPress管理面板的链接,这可能是有用的。

    然而,如果你不能使用这些选项之一来识别你的自定义登录网址,你可以手动找到它。你所需要做的就是用SFTP连接到你的网站。

    你可以使用像FileZilla这样的客户端。请记住,你将需要你的FTP凭证,你可以从你的虚拟主机上得到。然后,打开包含登录链接的根文件夹。这个文件夹通常被标记为public_html(这个似乎所使用的服务器环境)。

    找到并打开wp-login.php文件,注意查看读作site_url的字符串。 这将导致一行代码,指定你的自定义登录URL。

    如何修改WordPress登录链接

    现在你知道在哪里可以找到你的WordPress登录网址,让我们来看看你可以用两种简单的方法来改变它。

    方法1:用插件改变你的WordPress登录链接

    改变你的WordPress登录网址的最简单的方法是使用一个插件。幸运的是,有很多插件可以实现这个功能。

    WPS Hide Login是一个伟大的选择,因为它是轻量级的。它允许你安全地将你的WordPress管理登录页面改为任何你想要的东西。

    更好的是,WPS隐藏登录还可以防止所有已登录的用户访问wp-admin目录和wp-login.php

    要开始使用,你需要安装并激活该插件。然后,进入设置 > WPS Hide Login

    在这里,你可以输入一个新的登录网址,然后点击保存更改。 就这么简单。这个插件也有一个相当活跃的支持论坛,如果你需要任何帮助,你可以去看看。

    请记住,一旦这个插件被激活,并且你进行了修改,你将无法访问你的旧登录屏幕。相反,你将被引导到你创建的新登录界面。

    根据我们上面的例子,你现在需要在你的域名后面输入”/login“来访问你的网站。此外,请记住,如果你停用该插件,你的网站将恢复到使用wp-admin和wp-login.php。

    方法2:通过编辑你的wp-login.php文件改变你的WordPress登录链接

    这第二种方法有点棘手,只适合有经验的用户。因此,在你开始下面的步骤之前,最好先对你的网站做一个新的备份,以防出现什么问题。

    同样重要的是要知道,当你更新你的主题时,你的改变可能会恢复到以前的设置。然而,你可以通过使用一个子主题来避免这个问题。

    首先,你需要访问你的根文件夹,你可以通过你的文件管理器或使用FTP来做到这一点。同样,你要找的是名为public_html的文件夹。

    在根目录下,找到wp-login.php文件夹。这是生成你的网站登录页面的代码的地方:

    一旦你找到了这个文件,你可以把它的副本下载到你的电脑上。然后,用Sublime或Notepad++等文本编辑器打开该文件夹。

    理想情况下,最好是使用一个提供 “搜索和替换“工具的编辑器。这样,你可以更迅速地改变所有现有的WordPress登录URL实例。

    如果你能使用它,使用搜索工具找到wp_login_url字符串的每个实例:

    然后,将这些字符串改为你想使用的新的登录链接。记住,你可以保持它的简单和直接,只要它是原创的(并且与默认的不同)。例如,你可能更喜欢access.php或wp-new-login这样的东西。

    一旦你对你的修改满意,保存并关闭编辑器。然后,用你选择的新URL重命名该文件(如access.php)。

    现在,你可以使用你的FTP客户端或文件管理器将新文件上传到你的根目录。只需从你的电脑中选择修改后的登录文件。然后,使用 “login_url “过滤钩子注册新的登录文件。这使你可以使用任何页面作为你的登录页面,只要它包含一个登录表格。

    要做到这一点,请导航到wp-content > themes,找到你的主题功能文件。 选择你的活动主题并打开 functions.php 文件。

    现在你在这里,你可以把下面这行代码粘贴到文件中:

    /*
    
    *Change WP Login file URL using “login_url” filter hook
    
    *https://developer.wordpress.org/reference/hooks/login_url/
    
    */
    
    add_filter( ‘login_url’, ‘custom_login_url’, PHP_INT_MAX );
    
    function custom_login_url( $login_url ) {
    
    $login_url = site_url( ‘wp-your-new-login-file-name.php’, ‘login’ );
    
    return $login_url;
    
    }

    然后记得保存你的修改。

    在删除旧文件之前,测试你的新登录是很重要的。要做到这一点,只需输入你的网站的域名,并在最后加上你的新的登录网址。然后,如果你看到WordPress的登录表格,你可以删除原来的wp-login.php文件。

    保护WordPress登录进程的其他方法

    改变你的WordPress登录网址对于加强你的网站的安全是很好的。然而,这并不是你能做的全部。这里有一些其他的方法来保护你的WordPress登录过程。

    1. 限制登录尝试

    当你限制登录尝试时,你可以阻止黑客和机器人试图通过尝试数百个用户名和密码来访问你的网站。这一点特别重要,因为暴力攻击是第二种最常见的在线威胁类型。

    做到这一点的最简单方法是使用一个像Limit Login Attempts Reloaded。

    这个插件在你的网站上被激活后就开始工作了。默认情况下,用户在被锁在WordPress之外之前有四次登录的机会。然而,你可以访问该插件的设置来修改这一点:

    在这里,你也可以决定用户被锁定的时间长度。在你的仪表板上,你会看到有多少暴力攻击被该插件阻止了。此外,你可以切换到日志选项卡,手动屏蔽特定的IP地址。

    实施二步认证

    二步认证要求用户提交的不仅仅是他们的标准登录凭证。相反,用户被要求实时生成第二个密钥。这通常是一个通过SMS短信、电子邮件或应用程序发送的代码:

    由于机器人和黑客无法产生第二个密钥,这是防止未经授权访问你的网站的一个好方法。在你的网站上添加这一功能的最好方法之一是使用像miniOrange这样的插件:

    一旦激活,在你的管理区进入新的miniOrange 2-Factor链接,找到Account部分。为了配置该插件,你必须注册一个账户。这完全是免费的,只需要一分钟。然后,你会收到一个代码,使你能够验证你的电子邮件。

    在这个阶段,导航到Two Factor,使用Setup Two Factor 标签。在这里,你可以选择你喜欢的认证方法。例如,你可以使用谷歌认证器应用程序、短信、QR码或安全问题:

    最后,如果你切换到设置,你可以为所有用户、特定用户启用二步认证,并在登录页面显示你的二步提示。

    3. 使用CAPTCHA

    CAPTCHA或reCAPTCHA为你的网站提供了一个额外的安全层。通常情况下,它被用来控制对敏感页面的访问。更重要的是,它可以阻止机器人在你的网站上创建垃圾邮件或通过订单表格或登录表格访问个人信息。

    同样,一个插件是在你的网站上启用验证码的最简单方法。有了reCaptcha,你可以在你喜欢的任何表格中添加一个简单的验证码复选框:

    你需要在WordPress上安装并激活该插件。然后,在谷歌注册你的网站,以检索你的谷歌API密钥。在WordPress,你可以前往Google Captcha > Settings,输入你的密钥,并确定哪些表单应该使用验证码。

    4. 实施强密码

    改变WordPress的登录URL是个好主意,这样你就不会使用容易猜到的 “admin “后缀了。然而,如果你继续使用弱的或重复的密码,使你的账户处于更大的攻击风险中,你的努力就白费了。

    事实上,只有24%的美国网络用户为他们的每个在线账户使用不同的密码。同时,只有44%的用户使用密码管理器来安全地生成和存储密码。

    今后,最好选择大、小写字母结合数字和特殊字符的长密码。我们还建议使用LastPass这样的密码管理器,以获得额外的安全感:

    另外,鼓励有访问权的用户使用强密码也很重要。你可以在用户注册你的网站时收到的欢迎邮件中说明这一点。

    小结

    在你的WordPress网站上确保万无一失的安全,这可能是一个挑战。幸运的是,你可以通过改变你的WordPress登录URL来做到这一点。这样,你的登录页面几乎不可能被找到,除非你向用户提供你新的、自定义的登录URL。

    这里有两种改变WordPress登录URL的方法:

    1. 使用一个像WPS Hide Login插件。
    2. 编辑你的wp-login.php文件。
  • 几个国外免费的CDN加速服务商家整理

    几个国外免费的CDN加速服务商家整理

    随着互联网的不断发展,越来越多的企业开始意识到网站速度对于用户体验和SEO排名的重要性。而CDN加速服务作为目前最常见的网站加速方式之一,得到了越来越多企业的青睐。虽然市场上有很多CDN加速服务商家,但是其中大部分都需要付费。而在这个竞争激烈的市场里,也有一些免费的CDN加速服务商家,他们提供的服务同样具有一定的可靠性和稳定性。


    CloudFlare

    CloudFlare可能是国内网友接触最比较早的免费cdn服务了,如果你的网站访问用户是全世界的,那么 CloudFlare一定适合你,如果你的网站程序是Wordpress的,官方还专门为WP用户提供了一个官方插件(插件搜索CloudFlare),可以一次性设置完成,并且可以在后台直接查看CDN流量, 使用CloudFlare必须使用CloudFlare的DNS,并且CloudFlare的一部分IP已国内和谐了。

    CloudFlare官方主页:https://www.cloudflare.com/


    Incapsula

    Incapsula这是个美国的免费CDN,号称具有“global network”。最近incapsula在技术上进行了大规模更新,其CDN访问规则也进行了彻底改变:之前北美、欧洲用户对其访问,得到的是使用了anycast技术的ip,包含有美国、英国两个线路;亚洲用户访问的则是Amazon EC2的新加坡节点;以色列单独有个海法的节点。

    但现在,incapsula的cdn节点分布有了较大的变化:欧洲用户单独访问位于阿姆斯特丹的节点;北美用户则是位于亚特兰大的节点;亚洲用户是位于东京的节点;以色列海法、新加坡的节点被撤销。

    Incapsula官方主页:http://incapsula.com/


    百度CDN公共库

    百度公共CDN为站长的应用程序提供稳定、可靠、高速的服务,包含全球所有最流行的开源JavaScript库。

    Ps:百度的速度目前来说应该是和新浪差不多的。不过jQuery的版本比SAE少几个,其他类库应该都差不多。


    新浪云计算CDN公共库

    新浪云计算是新浪研发中心下属的部门,主要负责新浪在云计算领域的战略规划,技术研发和平台运营工作。主要产品包括 应用云平台Sina App Engine(简称SAE)。

    SAE的CDN节点覆盖全国各大城市的多路(电信、联通、移动、教育)骨干网络,使开发者能够方便的使用高质量的CDN服务。

    Ps:网上有评测说新浪的速度比百度的要好。个人没感觉出来。亲测半夜的时候出现过几次加载慢的情况(不知道其他站长遇到过没有)。


    又拍云JS库CDN服务

    Ps:又拍云js库提供了常用的JavaScript库CDN服务。算是起步较早的cdn加速服务了。速度和稳定性也不错。不过js库有点少,有些前卫的js库可能不提供。


    七牛云存储 开放静态文件CDN

    像 Google Ajax Library,Microsoft ASP.net CDN,SAE,Baidu,Upyun 等 CDN 上都免费提供的 JS 库的存储,但使用起来却都有些局限,因为他们只提供了部分 JS 库。但七牛云存储提供一个尽可能全面收录优秀开源库的仓库,并免费提供 CDN 加速服务。

    Ps:同时,开放静态文件CDN也提供开源库源接入的入口,让所有人都可以提交开源库,包括 JS、CSS、image 和 swf 等静态文件。

    上面这几个,我个人测试结果:百度云应该是最快的, 又拍的服务太少,几乎不用考虑.阿里云据说也提供了公共CDN服务,但目前官网找不到具体服务页面,暂时不说了


    360网站卫士CDN前端公共库

    托管在360众多的全国CDN节点上,覆盖电信、联通、移动等主流运营商线路,您可以在自己的网页上直接通过script标记引用这些资源,让网站访问速度瞬间提速!

    只需替换一个域名就可以继续使用Google提供的前端公共库和免费字体库,让网站访问速度瞬间提速。

    Ps:360的步伐现在是越来越快了。各种技术和提供的服务更新的速度是飞快的。360CDN服务也是最近才推出的(貌似主要还是Google被墙了 的原因)。提供了大多数的前端js库,还在自己的服务器上面缓存了Google的前端公共库和免费字体库,这个算是其他国内的cdn公共库没有的。速度和 稳定性也不错,当然相比较而且还是略逊于百度和新浪(亲测有些地方宽带线路会断线,可能也是很少部分吧)。毕竟提供服务还没多久。具体使用方法可查看WordPress利用360CDN公共库解决Google Open Sans字体无法加载.

    ————————————国外加速库———————————————————

    CDNJS

    CDNJS提供非常完整的 JavaScript 程式库,无论是热门或是冷门的一应俱全。若你觉得它们缺少哪些好用的函式库,也可以自行提交到网站里,通过审核后就 CDNJS 就会为你分流 js文件!这项服务是结合 CloudFlare、Pingdom 与 S3Stat的,稳定性与速度自然不在话下。CDNJS提供的 JavaScript Libraries 全部列在网站首页,使用者可以直接搜索。这些程式库都有标示版本编号、标签以及原维护网站链结。

    Ps:CDNJS应该算是最完整的的JS库了。存储了大部分主流的 JS 库,甚至 CSS、image 和 swf,不过很多国内优秀开源库是没有的。很多国外前卫的Js库在CDNJS大都能找到。国内的速度虽然比不上其他的几个国内的CDN服务,但是相对来说 其实还可以。

    当然你也可以使用国人提供的CDNJS国内镜像网站的又拍云路径来引用相关JS和CSS文件。

    CDNJS国内镜像托管在又拍云存储,但是各种JS或者CSS类库比又拍云自己出的JS库丰富很多,而且每天同步更新且支持https协议。


    Google Hosted Libraries

    Google出品,必属精品了。虽然最近Google全线产品被墙了,连基本的Google搜索服务都无法使用了。但是谷歌的公共CDN公共库应该是 最强大的了,像其中的前卫的各种代码类库和Google Web Font 字体库,国内几大公共CDN服务几乎都不提供支持。

    Ps:当然, Google打不开怎么办?除了使用国内的cdn库,也没有什么好办法了。如:国内cdn不提供的js库使用七牛云存储cdn加速服务、Google Fonts Open Sans字体库使用360CDN公共库代替等。


    Microsoft ASP.net CDN

    ASP.NET开发团队推出的一个新的微软Ajax CDN(Content Delivery Network,内容分发网络)服务,该服务提供了对AJAX库(包括jQuery 和 ASP.NET AJAX)的缓存支持。该服务是免费的,不需任何注册,可用于商业性或非商业性用途。

    Ps:微软出品,自然不会太差。虽然在天朝,速度依然不会太慢(当然比不上国内的其他cdn)。


    jsDelivr

    MaxCDN是一家价格相对比较便宜的CDN公司,在全球分布着众多的节点。 jsDelivr是基于MaxCDN的一个免费开源的 CDN 解决方案,用于帮助开发者和站长。jsDelivr包含 JavaScript 库、jQuery 插件、CSS 框架、字体等等 Web 上常用的静态资源。

    Ps:每一款CDN的节点数量都是大家所关心的,jsDelivr总共提供着13个节点。加载速度和CDNJS基本差不多,国内用户建议使用国内CDN服务最佳。大家可以自己测试看看。

    这些CDN公共库大都各具特色。大家可以自己选择性去使用。速度和稳定性以国内的百度和新浪为最佳(当然这是个人意见)。鉴于Google已经被墙,所有关于Google的服务大家还是尽快转移阵地,使用国内的CDN公共库服务吧。

  • 实操本站域名通过CloudflareSaaS回源优选配置详解

    实操本站域名通过CloudflareSaaS回源优选配置详解

    如何利用优选域名及节点,为外部托管域名平滑添加 Cloudflare CDN 与全球网络优化,涵盖多子域名处理、Nginx 反向代理与 SSH 隧道等进阶方案,适合站长和运维人员收藏使用。

    先说一下场景,本次操作,

    leepoet.cn为主域名,已在服务器如:8.8.8.8搭好了本站,并设置了SSL。域名原注册商为华为云。这次主域名并不托管到cloudflare,而是直接在原注册商处设置。

    apophislamp.asia为回源域名,直接买过来时并没有任务操作。也就是一个空域名。

    第一步:配置“回源域名”

    1.登录你的 Cloudflare 账号,找到添加域,把域名托管到cloudflare。

    2.进入apophislamp.asia的DNS设置一个回退源地址,添加一个A记录为origin,小黄云设置开启。

    3.进入SSL/TLS设置加密模式为完全

    4.边缘证书的设置

    第二步:设置“回退源” (Fallback Origin)

    1.把apophislamp.asia设置为回退源

    2.并添加自定义主机名(即主域名)

    3.在设置的时候会出现两个错误,分别是要验证自定义主机名的证书和源服务器。他会给出TXT证验的码。这个时候要回到leepoet.cn的原注册商,也就是华为云处进行设置。

    4.等leepoet.cn/www.leepoet.cn都设置完后,刷新至证书状态及主机名状态有效即可。

    第三步:配置第三方优选节点

    增加一条cname名称为cdn,值为第三方优先节点地址,并关掉小黄云。

    第四步:将“主域名”指向 Cloudflare

    回到华为云域名处,添加两条cname分别为@与www,把地址都指向cdn.apophislamp.asia

    至止,配置结束。

  • 宝塔 CPU 使用率 100% 运行堵塞的解决方法

    宝塔 CPU 使用率 100% 运行堵塞的解决方法

    宝塔面板是一款非常受欢迎的服务器管理工具,它可以帮助用户轻松地管理服务器上的网站、数据库等。正常运行的服务器突然出现了宝塔负载和 CPU使用率 100% 的问题,并且导致网站加载运行缓慢。本文WPPOP详细介绍宝塔导致 CPU 使用率 100% 的原因以及完善的解决方法。

    导致 CPU 使用率 100% 的主要原因

    当宝塔面板中 CPU 使用率 100% 的时候,我们首先需要找到问题的原因,程序性能、服务器负载能力、并发访问、木马病毒、被植入了挖矿程序等。主要的原因包括以下:

    1. 高并发访问

    当网站的流量突然增加时,服务器需要处理大量的请求,这会导致CPU使用率飙升,这种情况下,我们需要优化网站的性能,例如使用缓存技术、压缩图片等方法来减轻服务器的压力。

    2. 插件或软件冲突

    宝塔面板上有很多插件和软件,它们之间可能存在冲突,导致CPU使用率过高,这种情况下,我们需要检查并关闭不必要的插件和软件。

    3. 配置过低,服务器系统资源不足

    如果服务器的硬件配置较低,例如CPU核心数较少,内存容量较小等,那么在处理大量请求时,CPU使用率很容易达到100%,这种情况下,我们需要升级服务器的硬件配置。

    4. 恶意攻击

    我们的服务器可能会遭受到DDoS攻击或者CC攻击,这些攻击会导致服务器的CPU使用率飙升,这种情况下,我们需要采取相应的安全措施,例如使用防火墙、限制IP访问等方法来保护服务器。

    宝塔 CPU 使用率 100% 运行堵塞的解决方法

    原因排查

    进入宝塔面板的【终端】模块,使用输入 top 命令查看一下服务器的实时负载情况,包括CPU和内存等数据,如下图所示:

    宝塔 CPU 使用率 100% 运行堵塞的解决方法

    如果不是服务器被攻击或植入木马,那么主要的CPU高占用的一般就是 php-fpm 和 mysqld 这2个应用了。因为这个应用在网站运行过程中是频繁响应处理的请求进程。


    CPU 使用率 100% 的解决方法

    找到 CPU 高占用的原因,我们就要着手去做服务器环境优化,让服务器在一个更加合理的参数配置下流畅地运行。

    1. php-fpm 占用过大的解决方法

    1.1 安装扩展

    在宝塔面板的【 软件商店 – 已安装 】的应用分类列表中找到当前网站运行使用的 PHP 版本,点击右侧对应的【设置】 项,在弹出操作窗口中,切换到 【安装扩展】,在扩展列表中找到 opcache (加速 PHP 代码执行效率)和 memcached (把数据缓存到内存)并安装,如下图所示:

    宝塔 CPU 使用率 100% 运行堵塞的解决方法

    安装好 opcache 和 memcached 之后,可以明显地提升服务器运行效率,很大程度上降低服务器的负载,减少 CPU 和 内存的占用。

    此外,还可以安装以下PHP网站常用扩展: fileinfo、redis、apcu、imagemagick、exif 等。

    1.2 性能调整

    在宝塔面板的【 软件商店 – 已安装 】的应用分类列表中找到当前网站运行使用的 PHP 版本,点击右侧对应的 【设置】 项,在弹出操作窗口中,切换到 【性能调整】,根据服务器配置选择并发方案,或者自定义调整不同参数,如下图所示:

    宝塔 CPU 使用率 100% 运行堵塞的解决方法

    PHP 性能调整

    • 【最大子进程数量】越大,并发能力越强,但max_children最大不要超过5000
    • 【内存】每个PHP子进程需要20MB左右内存,过大的max_children会导致服务器不稳定
    • 【静态模式】始终维持设置的子进程数量,对内存开销较大,但并发能力较好
    • 【动态模式】按设置最大空闲进程数来收回进程,内存开销小,建议小内存机器使用
    • 【按需模式】根据访问需求自动创建进程,内存开销极小,但并发能力略差
    • 【外网访问】若需外网访问,连接方式为TCP套接字,并将[连接信息-绑定IP]改为0.0.0.0
    • 【外网访问】配置正确的IP白名单,在防火墙/安全组放行监听端口,有安全风险,需谨慎

    设置完成后,在上图中切换至【服务】选项卡,点击【重启配置】按钮,使得调整后的配置生效。

    2. MySQL占用过大的解决方法

    友情提示:为确保数据安全,进行性能调整前,请先做好数据库备份,以防数据丢失!

    在宝塔面板的【 软件商店 – 已安装 】的应用分类列表中找到当前网站运行使用的 MySQL 版本,点击右侧对应的 【设置】 项,在弹出操作窗口中,切换到 【性能调整】,根据服务器配置选择并发方案,或者自定义调整不同参数,如下图所示:

    宝塔 CPU 使用率 100% 运行堵塞的解决方法

    MySQL 性能优化

    根据当前服务器配置,选择最佳的优化方案,对其性能进行调整。

    MySQL数据库性能调整后,点击 【重启数据库】按钮,使得调整后的配置生效。

    3. 升级服务器硬件配置

    如果以上方法执行后,服务器运行效果还不够理想,那很可能就是你当前使用的服务器配置过低了,建议升级服务器配置,增加CPU核心数、扩大内存容量等。

    4. 采取必要的安全防护措施

    对于网站安全性来说,可以通过以下方法来保护服务器免受恶意攻击:

    使用防火墙:例如使用iptables、firewalld等防火墙工具来限制非法访问。

    限制IP访问:通过设置IP访问限制,可以防止恶意IP对服务器进行攻击。

    使用WAF:通过使用Web应用防火墙(WAF),可以有效防止SQL注入、XSS攻击等常见的Web攻击。

    配置CDN:缓存加速,分布式多节点DDOS防护、CC防护、WAF防护,抵御DDoS攻击。

    经过上以的服务器配置优化,服务器的压力肯定可以得到有效的缓解,此外,要做好定期检查服务器的硬件配置,确保硬件配置能够满足网站的需求。

  • Cloudflare 中国大陆访问加速指南:SaaS回源优选配置详解

    Cloudflare 中国大陆访问加速指南:SaaS回源优选配置详解

    如何利用优选域名及节点,为外部托管域名平滑添加 Cloudflare CDN 与全球网络优化,涵盖多子域名处理、Nginx 反向代理与 SSH 隧道等进阶方案,适合站长和运维人员收藏使用。

    CF优选,简单来说,就是用一个在 Cloudflare 上配置好的域名(B),来给另一个我们自己的主域名(A)借道加速,尤其是显著提升中国大陆的访问速度

    Cloudflare 中国大陆访问加速指南:SaaS回源优选配置详解

    角色介绍

    为了方便理解,我们先给今天的主角们分配好角色:

    1. **主域名 (A)**:leepoet.cn
    • 这是访客真正访问的域名,我们希望它能享受到 Cloudflare 的服务。
    • 重要:它的 DNS 解析在别的平台管理(比如阿里云、腾讯云、GoDaddy 等),不是在 Cloudflare。
    • **回源域名 (B)**:leepoet.com
    • 这是我们的“工具域名”,它在 Cloudflare 上进行全部配置,充当一个中间桥梁。
    • 它本身不重要,访客也看不到它。
    • 你的服务器 IP1.2.3.4 (这里用一个假的 IP 地址举例)
    • 这是你网站内容真正存放的地方。

    我们的目标:当用户访问 leepoet.cn 时,实际流量会通过 leepoet.com 在 Cloudflare 上的配置,最终安全地访问到你的服务器。

    操作开始:一共六个步骤

    第一步:配置“回源域名” (leepoet.com)

    首先,我们要把我们的“工具域名”leepoet.com 配置好。

    1. 登录你的 Cloudflare 账号。
    2. 进入域名 leepoet.com 的管理后台。
    3. 点击左侧的 “DNS” -> “Records”。
    4. 添加一条 A 记录,指向你的真实服务器 IP。
    • 类型 (Type)A
    • 名称 (Name)origin (你可以自定义,但用 origin 比较清晰)
    • IPv4 地址 (Content)1.2.3.4 (换成你自己的服务器 IP)
    • 代理状态 (Proxy status)务必点亮那朵橙色的小黄云! 这代表流量会经过 Cloudflare。

    现在,访问 origin.leepoet.com 就应该能看到你服务器上的网站内容了,并且是经过 Cloudflare 加速的。

    第二步:设置“回退源” (Fallback Origin)

    这一步是为了让 Cloudflare 知道,当收到访问 leepoet.com 的请求时,应该去哪里找内容。

    1. 在 leepoet.com 的管理后台,点击左侧的 “SSL/TLS” -> “自定义主机名”。
    2. 向下滑动,找到 “回退源 (Fallback Origin)” 部分。
    3. 点击 “添加回退源 (Add Fallback Origin)”。
    4. 在输入框里填入我们上一步创建的子域名:origin.leepoet.com
    5. 点击保存。

    保存成功后,状态应该是**有效 (Active)**。

    第三步:添加“自定义主机名” (Custom Hostname)

    这是最关键的一步!我们要告诉 Cloudflare:“我授权你用 leepoet.com 的配置来服务 leepoet.cn 这个域名。”

    1. 在 leepoet.com 的管理后台,继续停留在 “SSL/TLS” -> “自定义主机名 (Custom Hostnames)” 标签页。
    2. 点击 “添加自定义主机名 (Add Custom Hostname)”。
    3. 在弹出的窗口中,输入我们的主域名leepoet.cn
    4. 其他设置保持默认,点击右下角的 “添加自定义主机名” 按钮。

    完成后,Cloudflare 会开始处理,但此时状态会是“待验证 (Pending Validation)”。它需要你证明 leepoet.cn 确实是你的。

    第四步:验证“主域名”的所有权

    Cloudflare 会给你一条 TXT 记录,你需要把它添加到 leepoet.cn 的 DNS 解析记录里。

    1. 在刚才的“自定义主机名”页面,你会看到 leepoet.cn 旁边有“查看验证 TXT”之类的链接,点开它。
    2. 你会得到两条 TXT 记录,一条用于域名所有权验证,一条用于证书验证。记下它们的**主机名 (Name)值 (Value)**。
    3. 登录 leepoet.cn 的 DNS 管理平台(比如阿里云、腾讯云等)。
    4. 添加那两条 TXT 记录。
    • 主机记录: 复制 Cloudflare 提供的 Name。
    • 记录类型TXT
    • 记录值: 复制 Cloudflare 提供的 Value。
    • 添加完成后,回到 Cloudflare 页面,耐心等待几分钟到几小时(DNS 生效需要时间)。

    当你看到 leepoet.cn 的主机名状态证书状态都显示为 ✅ 有效 (Active) 时,就说明验证成功了!

    第五步:将“主域名”指向 Cloudflare

    万事俱备,只欠东风!现在我们要让 leepoet.cn 指向我们刚刚在 Cloudflare 搭建好的“桥梁”。

    1. 再次回到 leepoet.cn 的 DNS 管理平台。
    2. 找到主域名的解析记录(通常是 @ 或者 leepoet.cn本身)。
    3. 修改或添加一条 CNAME 记录。
    • 主机记录@ (或者 www,取决于你想让哪个生效)
    • 记录类型CNAME
    • 记录值origin.leepoet.com

    💡 优选技巧: 为了获得国内更快的速度,你可以不直接 CNAME 到 origin.leepoet.com,而是使用 优选 CNAME 地址 或者 A 记录。这些地址可以帮助你连接到速度更快的 Cloudflare 节点。 你可以在一些第三方优选工具网站上找到这些地址。找到一个适合你网络的 CNAME 地址,然后把上面的记录值换成这个优选的 CNAME 地址。

    第六步:大功告成,最终检查!

    现在,所有的配置都完成了!

    等待几分钟让 DNS 解析在全球生效后,在浏览器里输入 https://leepoet.cn

    你会发现,打开的网站和你直接访问 origin.leepoet.com 或者你的服务器 IP 所看到的网站一模一样,但此时 leepoet.cn已经成功套上了 Cloudflare 的 CDN 加速和安全防护!

    背后发生了什么?

    当你完成所有设置后,一个访客(比如小明)打开网站的奇妙旅程是这样的:

    第 1 步:用户访问主域名小明在浏览器里兴冲冲地输入 https://leepoet.cn,然后按下回车。

    第 2 步:DNS 指路小明的电脑向 DNS 系统发出询问:“leepoet.cn 的服务器在哪?”leepoet.cn 的 DNS 解析服务(在阿里云/腾讯云等平台)回应说:“我这没直接地址,但你去找 origin.leepoet.com(优选地址) 就行了,它知道在哪。” (这就是我们设置的 CNAME 记录在起作用)

    第 3 步:找到 Cloudflare 的加速节点小明的电脑继续问:“那 origin.leepoet.com 在哪?” 这次,Cloudflare 的 DNS 系统接管了。它会智能地分析小明的位置,并告诉他一个离他最近、访问速度最快的 Cloudflare 加速节点服务器的 IP 地址。 (如果你用了优选 CNAME,这里会分配到更适合国内网络的节点!)

    第 4 步:连接到“接待员”小明的浏览器连接到这个近在咫尺的 Cloudflare 加速节点,并递上“名片”说:“你好,我是来访问 leepoet.cn 网站的。”

    第 5 步:Cloudflare 核对身份并服务Cloudflare 加速节点(我们的“接待员”)收到请求后,立刻查看自己的“贵宾名单”(我们设置的“自定义主机名”)。 它发现 leepoet.cn确实是授权过的贵宾,于是开始为它提供服务。

    第 6 步:智能中转与缓存 (配置与leepoet.com保持一致)

    • 如果节点有缓存:接待员发现自己手上正好有 leepoet.cn的网页内容备份,就直接把内容发给小明。(速度飞快,网站秒开!)
    • 如果节点没缓存:接待员会通过 Cloudflare 的内部高速专线,去联系我们远在海外的真实服务器(IP: 1.2.3.4),抓取最新的网页内容。这个过程比普通访问快得多也稳定得多。

    第 7 步:内容安全送达Cloudflare 节点把从服务器取来的新鲜内容,或者它自己的缓存,安全地交给小明的浏览器。

    小明输入 leepoet.cn → 浏览器问DNS → DNS通过解析 优选地址 (一个优选的高速CNAME或IP),最终为小明挑选出Cloudflare节点IP → 浏览器连接这个高速节点IP并说:“我要 leepoet.cn” → Cloudflare节点核对“贵宾名单”,确认 leepoet.cn 已被授权(自定义主机名) → 节点于是套用 leepoet.com 的全套服务(缓存、安全规则等)来处理请求 → 节点根据这些规则,检查缓存或去真实服务器取回内容 → 内容安全返回给小明 → 小明成功看到网站

    最终,小明愉快地看到了 leepoet.cn 的网站,全程体验如丝般顺滑。他完全不知道自己的访问请求已经进行了一次“全球旅行”,而我们的真实服务器 IP 也被完美地隐藏了起来,非常安全😋

    如何处理多个子域名服务?

    如果 leepoet.cn 旗下还有 blog.leepoet.cn 和 shop.leepoet.cn 等多个子域名,它们该如何一同享受加速服务?

    第一步:为所有子域名添加“自定义主机名”

    首先,需要在 leepoet.com 的 “自定义主机名” 列表里,将每一个需要加速的子域名都添加进去并完成所有权验证。

    例如,列表中应包含:

    • leepoet.cn
    • blog.leepoet.cn
    • shop.leepoet.cn

    第二步:理解“回退源”的唯一性限制

    这里的关键在于!Cloudflare 允许添加多个“自定义主机名”,但 “回退源 (Fallback Origin)” 只能设置一个

    这意味着,无论访客的请求是发往 blog.leepoet.cn 还是 shop.leepoet.cn,Cloudflare 最终都会将所有流量转发到同一个“总出口”——即教程中设置的 origin.leepoet.com,也就是那台作为回源的主服务器(IP: 1.2.3.4)。

    第三步:解决方案,引入 Nginx 作为中央反向代理

    既然所有子域名的流量都汇集到了同一台主服务器,就需要在这台服务器上部署一个“智能交通指挥官”来根据域名分发流量。这个角色最适合由 Nginx 担任。

    Nginx 会检查每个请求的目标域名,然后将其转发到正确的后端服务器。连接后端服务器主要有两种方式:

    实战来咯,后端流量转发的两种方法

    方法 A:标准反向代理 (Direct Proxy_Pass)

    这是最直接、最常见的方法,适用于主服务器和后端服务器之间网络通畅(例如在同一内网或公网可直接访问)的情况。

    操作:在主服务器 (1.2.3.4) 的 Nginx 配置文件中,通过 proxy_pass 直接指向后端服务器的 IP 和端口。

    Nginx 配置示例:

    # 处理博客子域名的流量
    server {
        listen 80;
        server_name blog.leepoet.cn;
    
        location / {
            # 直接转发到博客服务器的 8080 端口
            proxy_pass http://10.0.0.2:8080; 
            proxy_set_header Host $host;
            # ... 其他 header 设置 ...
        }
    }

    方法 B:SSH 反向隧道代理 (Advanced & Secure)

    这种方法适用于后端服务器无法被主服务器直接访问(例如后端在内网 NAT 之后)或需要极高安全性的场景。它通过建立一个加密的 SSH 隧道来传输数据。

    工作原理: 由后端服务器主动连接主服务器,并在主服务器上“开一个口”,Nginx 只需将流量送到这个本地的“口”即可。

    操作步骤:

    1. 在后端服务器上建立隧道:登录后端博客服务器 (10.0.0.2),执行以下命令,与主服务器 (1.2.3.4) 建立连接。 # 命令格式:ssh -fN -R [主服务器端口]:localhost:[后端服务端口] [主服务器用户名]@[主服务器IP]
      ssh -fN -R 9001:localhost:8080 user@1.2.3.4
    • -fN: 让 SSH 在后台运行。
    • -R 9001:localhost:8080: 意思是将主服务器 (1.2.3.4) 的 9001 端口收到的所有流量,通过这条加密隧道,转发到当前后端服务器 (10.0.0.2) 的 8080 端口。
    • 提示: 为保证隧道断开后能自动重连,建议使用 autossh 工具。
    • 在主服务器上配置 Nginx:现在,主服务器上的 Nginx 只需将 blog.leepoet.cn 的流量转发给自己的 9001 端口即可。 Nginx 配置示例: # 处理博客子域名的流量 (通过 SSH 隧道)
      server {
          listen 80;
          server_name blog.leepoet.cn;

          location / {
              # 转发到本地 SSH 隧道的入口端口
              proxy_pass http://localhost:9001; 
              proxy_set_header Host $host;
              # ... 其他 header 设置 ...
          }
      }

    PS无论使用哪种方法,所有子域名的流量都会经过 Nginx 主服务器。因此,务必确保这台服务器拥有足够大的带宽,以防成为性能瓶颈。

  • 通过Cloudflare优选IP与第三方节点加速:提升网站全球访问速度的实践指南

    通过Cloudflare优选IP与第三方节点加速:提升网站全球访问速度的实践指南

    优选IP能显著改善国内访问速度,尤其是针对电信、移动等运营商线路的差异化优化,双CDN策略适用于全球化需求,但需结合回退源和自定义主机名配置。用于显著提升托管在海外的网站在中国境内的访问速度。核心思路是​​在不暴露源服务器真实IP的前提下,利用Cloudflare的回退源(Fallback Origin)和自定义主机名功能,将流量引导至第三方维护的Cloudflare优选IP节点​​。

    通过Cloudflare优选IP与第三方节点加速:提升网站全球访问速度的实践指南

    使用场景:

    国内双域名都搭在国外的8.8.8.8服务器,leepoet.cn为主力域名,已经解析到8.8.8.8,正常访问。leepoet.com为牛马域名目前通过bt 反代到leepoet.com。国内访问速度200+。现在需要对leepoet.cn进行国内访问加速。

    一、正常托管:

    1.把leepoet.cn/leepoet.com两个域名全托管到cloudflare。

    通过Cloudflare优选IP与第三方节点加速:提升网站全球访问速度的实践指南
    通过Cloudflare优选IP与第三方节点加速:提升网站全球访问速度的实践指南
    通过Cloudflare优选IP与第三方节点加速:提升网站全球访问速度的实践指南

    *以上三张图只针对leepoet.cn/leepoet.com两个域名进行设置

    通过Cloudflare优选IP与第三方节点加速:提升网站全球访问速度的实践指南
    通过Cloudflare优选IP与第三方节点加速:提升网站全球访问速度的实践指南

    2.域名原注册商处更改ns地址为cf 提供的。

    通过Cloudflare优选IP与第三方节点加速:提升网站全球访问速度的实践指南
    通过Cloudflare优选IP与第三方节点加速:提升网站全球访问速度的实践指南
    通过Cloudflare优选IP与第三方节点加速:提升网站全球访问速度的实践指南

    测试为活动挂上小黄云。

    通过Cloudflare优选IP与第三方节点加速:提升网站全球访问速度的实践指南


    国内访问150左右,原服务器IP一般在72小时左右可隐藏,提升网点的安全性,这种设置只针对国外服务器,个人觉得国内服务器除了用来防御,就速度上而言套一层CF完全是反向提升。


    二、进阶:使用双CDN策略优先第三方节点,但需结合回退源和自定义主机名配置

    核心逻辑与流程​

    1. 域名与托管​​:将需要加速的域名(如 leepoet.cn)完全托管于Cloudflare。
    2. 设置回退源:设置在 leepoet.com下,添加一条A记录(origin.leepoet.com)做为回退源,即服务器的IP地址。并把origin.leepoet.com的回退源地址指向域名leepoet.cn/www.leepoet.cn。
    3. ​引入优选IP​​:同样在 leepoet.com下,添加一条CNAME记录(如 cdn.leepoet.com),将其指向由第三方维护的Cloudflare优选IP地址池,并关闭代理。
    4. ​最终流量引导​​:最后,在需要加速的主域名(leepoet.cn)下,添加一条CNAME记录,将 @或 www主机名指向第二步创建的优选IP域名(cdn.leepoet.com),并关闭代理。

    1.在cloudflare的b.com的dns 处添加一条a记录为origin,ip为8.8.8.8作为回退源,开启小黄云。

    *如果关闭小黄云就代表着origin.leepoet.com通过cloudflare的dns 解析到(直连)8.8.8.8。(这里设置的意思是cloudflare只解析dns,但流量直连源站8.8.8.8)

    通过Cloudflare优选IP与第三方节点加速:提升网站全球访问速度的实践指南

    *只需要关注A记录,名称为origin,这一条设置

    2.打开b.com 的ssl/tls,把origin.leepoet.com设置为回退源,

    通过Cloudflare优选IP与第三方节点加速:提升网站全球访问速度的实践指南

    再设置回退源需要通过cname指向的主机(leepoet.cn,即主力域名,同时继续一条添加www,这样可以防止重定向过多)

    通过Cloudflare优选IP与第三方节点加速:提升网站全球访问速度的实践指南
    通过Cloudflare优选IP与第三方节点加速:提升网站全球访问速度的实践指南
    通过Cloudflare优选IP与第三方节点加速:提升网站全球访问速度的实践指南

    添加过后,会出现一个报错,会提示需要在leepoet.cn的dns处添加一条txt记录的ssl验证域名是否生效,

    通过Cloudflare优选IP与第三方节点加速:提升网站全球访问速度的实践指南
    通过Cloudflare优选IP与第三方节点加速:提升网站全球访问速度的实践指南

    *只需要关注TXT类型的四个设置,这四个分别是@/www类型的leepoet.cn的TXT的主机验证和SSL验证。

    通过Cloudflare优选IP与第三方节点加速:提升网站全球访问速度的实践指南

    添加完后回到leepoet.com的ssl 管理页查看记录是否生效,如果不生效就把leepoet.cn的dns 小黄云关掉,回来继续验证。(*我这个是设置了第三、四步后的页面,在这之外leepoet的类型解析仍然是A记录类型的IPV4的解析方式如:记录:A,名称:@/WWW,内容:8.8.8.8,并没有用CNAME指向CDN.LEEPOET.COM,)


    3.继续在leepoet.com的dns管理页引入一条cname 记录值为cdn (用这条记录来实现优选cdn线路分流),目标为优选线路的地址(这些地址可以查github 或者一些大佬长期维护且更新频率高的比较好)。同时关闭这条记录的小黄鱼。

    通过Cloudflare优选IP与第三方节点加速:提升网站全球访问速度的实践指南

    注:只需要关注类型为CNAME名称为CND这条。以及ORIGIN这条是回退源地址之前设置的。其它的不用管。


    4.回到leepoet.cn的dns 管理页继续添加一条cname 值为@,目标为cdn.leepoet.com,关闭这条记录的小黄云。至此优选cdn 结束……

    通过Cloudflare优选IP与第三方节点加速:提升网站全球访问速度的实践指南


    整个流程相当于从客户端发出请求到leepoet.cn的nginx服务器,cf会把请求解析到cdn.leepoet.com,然后cf解析cdn.leepoet.com 的优选ip得到最佳的节点,再把请求指向获取服务器的缓存最快的节点返回请求,如果优选节点没有服务器的缓存则请求直接回到源服务器origin.leepoet.com,也就是leepoet.cn

    通过Cloudflare优选IP与第三方节点加速:提升网站全球访问速度的实践指南

    国内访问80左右,套用第三方节点后,比原来没有套CF的速度相当于快了3.5倍。这些节点的速度都来自于第三方的大佬们维护的节点好不好用稳不稳定要靠自己去试,总的来讲多线路一方面在负载均衡上提升了整站的响应性能,另外在安全上也提升了不少。当然深层次的角度来讲并不在我们半桶水的考虑范围之类。

  • Nginx安全配置:保护敏感目录与文件的最佳实践

    Nginx安全配置:保护敏感目录与文件的最佳实践

    Web服务器的安全性至关重要。Nginx作为一款高性能的HTTP和反向代理服务器,其灵活的配置选项使我们能够有效保护服务器上的敏感目录和文件,防止未经授权的访问和潜在的安全威胁。默认情况下,Nginx可能会直接暴露Web目录下的文件内容,包括敏感的配置文件源代码,这为系统安全带来了严重隐患。

    Nginx安全配置:保护敏感目录与文件的最佳实践

    nginx禁止直接访问目录或文件,如果不禁止,nginx会直接去下载web目录下文件,如果有配置文件,并可以直接暴露一些配置文件源代码。

    一、禁止访问某些后缀文件

    禁止特定文件扩展名的访问(如.ini、.conf、.txt等配置文件)

    location ~ \.(ini|conf|txt)$ {
        deny all;
    }
    

    二、禁止访问目录或目录下文件


    限制对敏感目录及其内容的直接访问

    #禁止访问目录
    location ^~ /test/ {
        deny all;
    }
    
    #禁止访问目录下文件
    location ^~ /test {
        deny all;
    }
    

     三、nginx location 匹配相关

    理解Nginx location匹配规则以优化安全配置

    = 表示精确匹配
    ^~ 表示uri以某个字符串开头
    ~ 正则匹配(区分大小写)
    ~* 正则匹配(不区分大小写) !~和!~*分别为区分大小写不匹配及不区分大小写不匹配的正则
    / 任何请求都会匹配

    四、nginx配置图片直接下载不打开

    控制资源(如图片)的下载行为而非直接展示

    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
        add_header Content-Disposition attachment;                   
    }
    

    通过合理配置这些安全规则,我们可以有效防止敏感信息泄露、恶意文件执行以及未经授权的资源访问,从而提升Web应用的整体安全性。这些配置对于遵循安全最佳实践、满足合规要求以及保护用户数据隐私都具有重要意义。

  • 🔒 隐藏 WordPress 后台登录地址:保护你的网站免受恶意攻击

    🔒 隐藏 WordPress 后台登录地址:保护你的网站免受恶意攻击

    WordPress 网站的默认登录地址(如 你的域名.com/wp-admin或 你的域名.com/wp-login.php)是公开的,这使其成为黑客和自动化脚本(如暴力破解攻击、恶意扫描)的常见目标。攻击者会不断尝试访问这些默认路径,​​消耗服务器资源​​,甚至可能​​窃取网站数据​​或​​获取后台访问权限​。隐藏后台登录地址是保护 WordPress 网站安全的重要且有效的第一步,它可以大大降低网站被恶意扫描和攻击的风险。

    🔒 隐藏 WordPress 后台登录地址:保护你的网站免受恶意攻击

    🔧 一、修改默认登录地址的方法

    隐藏 WordPress 后台登录地址主要有以下几种方法,你可以根据自身的技术水平和需求选择合适的方式。

    1. ​使用插件(推荐大多数用户)​​这是最​​简单、快捷​​且​​安全​​的方法,尤其适合不熟悉代码的用户。以下是一些常用且高效的插件选择:
      • •​​WPS Hide Login​​:一款非常轻量级的插件。安装并启用后,你可以在设置中直接将默认的登录地址(如 /wp-admin或 /wp-login.php)​​更改为任何你喜欢的自定义路径​​(例如 /my-secret-login)。设置完成后,任何尝试访问原默认登录页的请求都会被​​重定向到 404 页面或首页​​,从而有效隐藏真实入口。
      • •​​Stealth Login Page​​:这款插件允许你设置一个​​自定义的安全参数​​来访问登录页面。例如,只有访问 你的域名.com/wp-login.php?mykey=secret123时才会显示登录表单,否则访客将被重定向到你指定的网址(如首页)。它还支持 WordPress 多站点网络。
      • •​​Protected wp-login​​:此插件通过要求在登录地址后添加​​安全密钥​​来提供保护。你需要设置一个密钥,然后只有包含该密钥的登录链接才有效。它还可以启用“隐身模式”,使其他所有访问登录页的尝试都不显示登录表单。
    2. ​修改主题代码(适合有一定技术基础的用户)​​如果你不希望安装额外的插件,可以通过在主题的 functions.php文件中添加代码来实现。一种常见的方法是设置一个​​秘密参数​​。添加代码后,只有访问包含特定参数的链接(如 你的域名.com/wp-login.php?mylogin=yd631)时才能进入登录页面,否则访问者会被重定向到其他页面(如首页)3。另一种更安全的方法是使用​​基于时间的哈希验证​​。这段代码会生成一个每5分钟变化一次的访问令牌。只有提供的令牌与当前有效的令牌匹配时,才能访问登录页面,否则将返回404错误并记录访问尝试。这能有效防止未经授权的访问。

    🛡️ 二、增强后台安全的其他关键措施

    隐藏登录地址是重要的第一道防线,但为了构建多层次的安全防护,你还应该考虑以下措施:

    1. ​限制登录尝试次数​​防止攻击者通过不断尝试密码来暴力破解。使用像 ​​Limit Login Attempts Reloaded​​ 这样的插件,可以设置连续输错密码一定次数(如3次)后,​​临时封锁该IP地址​​一段时间(如15分钟或更长),并可以接收邮件警报。
    2. ​启用双因素认证 (2FA)​​为登录过程增加一层额外的安全验证。即使密码被盗,没有第二重验证也无法登录。推荐使用 ​​Wordfence Login Security​​ 或 ​​Two Factor​​ 插件。登录时,除了输入密码,还需提供由手机验证器App(如Google Authenticator)生成的​​动态验证码​。
    3. 禁用 XML-RPC 接口​​WordPress 的 xmlrpc.php文件常用于离线发布,但也常被黑客用于发动暴力破解攻击。如果你不需要此功能,建议禁用它。可以通过安装 ​​Disable XML-RPC​​ 插件,或在服务器的 .htaccess文件中添加屏蔽规则来实现。
    4. ​服务器级防护(进阶)​
      • •​​IP白名单​​:通过服务器防火墙(如 ​​Cloudflare​​ 或宝塔面板)设置规则,​​仅允许你信任的特定IP地址段​​(例如你的公司或家庭IP)访问 /wp-admin和 /wp-login.php路径,拒绝所有其他IP的访问。这是非常强大的保护手段。
      • •​​HTTP认证​​:在服务器层面(如Nginx/Apache)为登录页面添加一层额外的密码保护。这样,访问登录页时,浏览器会先弹出一个系统级的账号密码输入框,验证通过后才会显示WordPress自己的登录表单。

    💎 三、操作建议与注意事项

    • •​​务必先备份​​:在进行任何代码修改或重大设置变更前,​​务必备份你的网站数据和数据库​​。这样一旦出错可以迅速恢复。
    • •​​组合使用效果更佳​​:安全防护在于多层次。​​隐藏登录地址 + 限制登录尝试 + 强密码和双因素认证​​是一个性价比极高的安全组合拳。
    • •​​测试验证​​:完成任何一项修改后,​​请立即测试效果​​。例如,修改登录地址后,尝试访问旧地址是否会被重定向;确保新地址可以正常登录。
    • •​​谨慎选择插件​​:从WordPress官方插件库或可信来源获取插件,并关注其更新频率和用户评价。
    • •​​牢记新地址​​:修改登录地址后,务必妥善记录或收藏新网址,以免自己无法进入后台。

    🚀 四、总结:构建你的安全防线

    保护 WordPress 后台是一个持续的过程,而非一劳永逸。隐藏默认登录地址是构建安全防线的​​关键且高效的第一步​​,它能显著减少自动化工具的攻击和扫描。

    ​核心建议​​:

    对于大多数用户,最直接有效的方案是:​​使用 WPS Hide Login 等插件修改登录路径 + 使用 Limit Login Attempts Reloaded 限制登录尝试 + 为管理员账户启用双因素认证和设置强密码。​

    通过结合使用本文介绍的方法,你可以极大地增强 WordPress 网站的安全性,让你更能专注于网站的内容和发展,而无需过分担忧潜在的安全威胁。


    像我这个个人博客只记录自己日常收集的知识和文摘,根本不需要注册用户,那么最好是隐藏登录入口来保护后台安全:

    方法操作难度安全性推荐度核心作用
    ​1. 完全禁用用户注册​⭐⭐⭐⭐⭐⭐⭐​治本​​,从源头杜绝非授权用户
    ​2. 修改默认登录地址​⭐⭐⭐⭐⭐⭐⭐⭐⭐​隐蔽​​,极大降低后台被扫描和攻击的概率
    ​3. 按角色限制后台访问​⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐​精准控制​​,只允许可信用户访问
    ​4. 添加安全验证​⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐​加固​​,为登录入口增加额外防护层
    ​5. 服务器级防护(进阶)​⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐​终极防护​​,结合服务器设置,安全性最高

    下面是每种方法的详细操作说明。

    🚫 一、彻底关闭用户注册功能

    这是最根本的一步,确保不会有新的随机用户注册。

    1. ​在WordPress后台设置中关闭注册​​:
      • •进入你的WordPress后台 → ​​设置​​ → ​​常规​​。
      • •找到 ​​“成员资格”​​ 选项,确保 ​​“任何人都可以注册”​​ 这一项​​未被勾选​​。
      • •滚动到页面底部,点击 ​​“保存更改”​​。

    ​效果​​:完成后,网站前端的注册链接通常会消失,从根源上杜绝了非授权用户的注册。

    🕵️ 二、隐藏WordPress默认登录地址

    修改默认的 /wp-admin和 /wp-login.php地址是隐藏后台、防止被扫描攻击的有效手段。

    • •​​使用插件(最简单推荐)​​:
      • •安装并启用像 ​​WPS Hide Login​​或 ​​Hidden WP Admin​​这样的轻量级插件。
      • •这类插件通常只需提供一个设置字段,让你输入自定义的登录路径(例如 /my-secret-login),之后所有访问原默认登录页的请求都会被​​重定向​​到首页或其他页面。
    • •​​通过代码修改(更隐蔽)​​:
      • •编辑你当前主题的 functions.php文件,添加一段代码,为登录地址设置一个“密钥”。例如,只有访问 yoursite.com/wp-login.php?secret=your_key时才能显示登录页,否则访客将被重定向至首页。
      • •此方法更隐蔽,但需要你谨慎操作代码并记住自定义的密钥参数。

    🔐 三、按用户角色限制后台访问

    如果网站还有其他可信用户(如共同运营者),你可以精确控制谁可以进入后台。

    • •​​在主题的 functions.php文件中添加代码​​:你可以添加代码,让只有具备特定权限(如 manage_options(管理员)、publish_posts(编辑/作者))的用户才能访问 /wp-admin后台。不符合条件的用户(例如默认的“订阅者”角色)访问后台时会被​​重定向​​到网站首页。
    add_action('init', 'redirect_non_admin_users');
    function redirect_non_admin_users() {
        if ( is_admin() && ! current_user_can('manage_options') && ! ( defined('DOING_AJAX') && DOING_AJAX ) ) {
            wp_safe_redirect( home_url() );
            exit;
        }
    }

    🛡️ 四、为登录页面添加安全验证

    即使登录地址被隐藏,再加一层验证也更安全。

    • •​​启用双因素认证 (2FA)​​:使用 ​​Wordfence Login Security​​ 或 ​​Two Factor​​ 等插件,要求登录时除了密码,还需输入一个动态验证码(通常由手机验证器App生成)。
    • •​​限制登录尝试次数​​:使用 ​​Limit Login Attempts Reloaded​​ 等插件,自动​​封锁​​短时间内频繁尝试登录的IP地址,有效防止密码爆破。
    • •​​添加验证码 (CAPTCHA)​​:使用 ​​Google Captcha (reCAPTCHA)​​ 等插件,在登录表单中添加验证码,阻止自动化机器人尝试登录。

    🌐 五、服务器级防护(进阶)

    如果你有服务器访问权限,可以考虑这些更底层的保护。

    • •​​IP白名单​​:通过服务器防火墙(如 ​​Cloudflare​​ 或宝塔面板)设置规则,​​仅允许你信任的IP地址​​(如你的家庭或公司IP)访问 /wp-admin和 /wp-login.php路径,其他所有IP的访问请求一律拒绝。
    • •​​HTTP认证​​:在服务器端(如Nginx/Apache)为登录页面设置一层额外的密码保护。这样访问登录页时,浏览器会先弹出一个系统级的账号密码输入框,验证通过后才会显示WordPress登录表单。

    💡 操作建议

    1. ​务必先备份​​:在进行任何代码修改或重大设置变更前,​​务必备份你的网站数据和数据库​​。这样一旦出错可以迅速恢复。
    2. ​组合使用效果更佳​​:​​禁用注册 + 修改登录地址​​是基础且效果显著的组合。在此基础上,根据你的需求和安全要求,再考虑添加​​访问限制​​或​​安全验证​​。
    3. ​测试验证​​:完成任何一项修改后,​​请立即测试效果​​。例如,修改登录地址后,尝试访问旧地址是否会被重定向;禁用注册后,检查前端注册入口是否消失等,确保设置已生效。