WordPress屏蔽代理访问

WordPress屏蔽代理访问

这篇文章通过让它在WordPress上即插即用来扩展屏蔽代理技术。

更新:还可以使用PHP查看块代理访问,以获得更高级的基于PHP的代理屏蔽技术。

阻止代理访问WordPress

下面的代码可以实现阻止代理访问我们的网站,通过functions.php或插件添加:

function shapeSpace_block_proxy_visits() { 
    if (!is_user_logged_in()) { 
        if (@fsockopen($_SERVER['REMOTE_ADDR'], 80, $errstr, $errno, 1)) {
            die('Proxy access not allowed');
        }
    }
}

add_action('after_setup_theme', 'shapeSpace_block_proxy_visits');

正如在最初的文章中所解释的,这个代码片段不足以阻止所有代理,但是它可以很好地阻止很多代理。

多年来,代理服务和脚本在功能、复杂性和有效性方面迅速发展。

所以并没有一种适合所有人的,即插即用的技术来阻止100%的代理。

这个脚本是为了给开发者提供一种简单的方式来提供广泛的代理服务,从而为合法的流量释放宝贵的服务器资源。

工作原理

下面是这个技巧背后的工作原理:

  1. 检查当前用户没有登录到WordPress
  2. 如果远程计算机上的端口80打开,则阻塞请求
  3. 将函数挂钩到WP的after_setup_theme中

因此,这在逻辑上非常简单,但需要与远程计算机快速连接。

这就是为什么最好将该技术用作临时解决方案的原因,下一节将对此进行解释。

使用案例

这个脚本很好,因为它很简单,而且和通过PHP得到的一样轻(使用本文开头链接的.htaccess技术可以获得更好的性能)。

一个很好的使用示例:当我注意到我的站点被自动的d-bag扫描或发送垃圾信息时,我可以将代理块脚本放到functions.php中,以节省一些服务器资源。

几个小时后,我可以毫不费力地删除脚本。它最好是作为一种短期威慑,而不是永久的代理屏蔽解决方案。

(0)
上一篇 2020年7月26日 下午2:37
下一篇 2020年7月30日 下午11:50

相关推荐

发表回复

登录后才能评论