Php 根据访问的文件自动阻止IP
因此,我有一个以Laravel为动力的网站,即将启动,我有一个电子邮件发送程序,每当网站上触发404错误时都会向我发送电子邮件(作为第一阶段的措施,确保网站上没有断开的链接) 最近,我收到了大量电子邮件,报告了一些URL的404:Php 根据访问的文件自动阻止IP,php,apache,security,Php,Apache,Security,因此,我有一个以Laravel为动力的网站,即将启动,我有一个电子邮件发送程序,每当网站上触发404错误时都会向我发送电子邮件(作为第一阶段的措施,确保网站上没有断开的链接) 最近,我收到了大量电子邮件,报告了一些URL的404: /wordpress/wp管理员 /wp管理员 /wp admin/images/wordpress-logo.png /manager/media/script/mootools/mootools.js /模板/system/style.css /模块/syste
- /wordpress/wp管理员
- /wp管理员
- /wp admin/images/wordpress-logo.png
- /manager/media/script/mootools/mootools.js
- /模板/system/style.css
- /模块/system/system.css
- 我的服务器正在运行Ubuntu(Apache)
- 我有完全的sudo权限
.htaccess
文件中:
Order Deny,Allow
Deny from
192.168.0.1,
192.168.0.2
. . .
选项二-使用应用程序逻辑和数据库表
基于某些规则,更复杂的解决方案可以通过在数据库中保留一个表来实现——或者您可以使用JSON文件或类似的文件——其中包含一列用于:
$\u SERVER['SERVER\u ADDR']
和试图访问的url记录他们的ip。每次,您都会检查该IP是否已存在于表中,并运行一些逻辑来检查它们是否需要添加到.htaccess
文件中,方法是:
$f = fopen(".htaccess", "w+");
fwrite($f, "192.168.0.1");
fclose($f);
404错误必须由应用程序处理,而不是由apache处理
选项三-故障2ban
最后,作为另一种选择,您还可以使用它来简单地为您完成所有这些
祝你好运!:) fail2ban或mod_security将是您自己服务器的最佳解决方案