使用PHP和htaccess自动阻止IP地址

时间:2012-04-29 19:33:56

标签: php .htaccess ip-address block

我有一个登录系统,我想尽可能安全。经过十次不良尝试后,我想让ip地址被阻止。如何在PHP中打开文件并在我的块ip地址代码中添加一行?这是我的htaccess文件:

#Turn on RewriteEngine
RewriteEngine on
#Don't allow file indexing pages
Options -Indexes
#Follow Symbolic Links
Options +FollowSymLinks
#Set default language and charset
DefaultLanguage en-US
AddDefaultCharset UTF-8
#Set the server timezone
SetEnv TZ America/Vancouver

#Don't need extention for PHP files
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^([^\.]+)$ $1.php [NC,L]

#Block bad IP Addresses
RewriteCond %{REMOTE_ADDR} ^217.172.179.*$ [OR]
RewriteCond %{REMOTE_ADDR} ^217.172.180.*$
RewriteCond %{REQUEST_URI} !/error/blocked.php$ [NC]
RewriteRule ^(.*)$ /error/blocked.php [R,NC,L]

我想要PHP文件添加行:

RewriteCond %{REMOTE_ADDR} ^IPHERE$ [OR]

正在评论阻止坏IP地址。

1 个答案:

答案 0 :(得分:2)

我不建议直接编辑.htaccess文件。

相反,有一个文件或数据库表来保存所有列入黑名单的IP地址,并在PHP中进行测试,而不是在Apache方面进行测试。