基于IP的过滤和禁止

如何禁止IP地址访问我的网站。 另外,它会更好地存储在一个文本文件,PHP文件或数据库的IP地址。

我想要一个黑名单。

我正在使用Apache。

另外,我希望黑名单是特定于应用程序的。

主要是为了防止人们利用网站。 我不希望一个人从同一个IP重新加载我的小部件一遍又一遍不止一个每2秒。

我会使用一个单独的防火墙。 在哪里存储您的IP地址列表取决于
– 你是否想要一个黑名单或白名单
– 这个列表是静态的还是dynamic的(静态只对白名单有意义)
– 你有什么样的networking服务器(Apache,IIS,…)

请提供一点信息。

亲切的问候,弗兰克

这很大程度上取决于你想要什么。

为了静态禁止一些特别滥用/ 16个子网,最简单的方法就是安装防火墙规则。 我会为此推荐shorewall ,因为它比原始的东西更加用户友好。 将4-5个子网列入黑名单,神奇地将噪声比减less了99%,这是惊人的。

对于dynamic禁止脚本小子,只需安装fail2ban是一个工作的解决scheme,只需要很less的工作。

或者,你可以做同样的dynamic禁止自己,但那么你需要做一些簿记(IP地址的变化,所以除非你不时地阻止,你最终将黑名单整个互联网!)。 在这种情况下,数据库比平面文本文件更适合。

如果你不喜欢与防火墙打交道,因为感觉对你来说是巫术,你仍然可以在.htaccess文件中使用DENY。 这将为你的php页面“同样”工作,但效率会低得多,而且不会阻止某人尝试利用你的SSH。