Php 允许阻止的IP查看403错误文档

Php 允许阻止的IP查看403错误文档,php,apache,.htaccess,errordocument,Php,Apache,.htaccess,Errordocument,我有一个脚本,可以根据垃圾邮件数据库中的查找自动将IP地址添加到my.htaccess文件中。然而,我希望这些地址的后续访问能够查看我创建的403 ErrorDocument。但显然,他们不能,因为他们被否认了。我的.htaccess如下所示: ErrorDocument 403 /403.php deny from <ip address> deny from <ip address> deny from <ip address> deny from &l

我有一个脚本,可以根据垃圾邮件数据库中的查找自动将IP地址添加到my.htaccess文件中。然而,我希望这些地址的后续访问能够查看我创建的403 ErrorDocument。但显然,他们不能,因为他们被否认了。我的.htaccess如下所示:

ErrorDocument 403 /403.php

deny from <ip address>
deny from <ip address>
deny from <ip address>
deny from <ip address>
yada yada yada
ErrorDocument 403/403.php
否认
否认
否认
否认
雅达雅达雅达
有什么建议吗?我通过PHP添加地址


提前感谢。

我认为重写规则更合适——尽管我不能100%确定您是否可以基于ip地址重定向。您需要检查mod_重写文档。

您有两种方法:

  • 错误文档403http://www.yourdomain.com/403.php
  • 错误文档403“去,不要回来!”
  • 当然,第一个将重定向用户
    如果您的站点上有特定的文件格式(如.php、.txt、.xml、.htm等),您可以使用此格式,但我不推荐它

    <Files ~ "\.(inc|sql|.php|.html)$">
      order allow,deny
      allow from all
      deny from 127.0.0.1
    </Files>
    

    被拒绝的请求会出现403错误,如果403 ErrorDocument未正确配置(您可能会这样),则还会出现500个内部服务器错误。如何进行配置,以便即使用户被拒绝,我的403仍能得到服务?这是一个鸡/蛋的事情现在:)看看下面的一些帖子,特别是我对肖恩的回应。只要正确配置你的403错误文档。将您自己的IP添加到服务器并进行测试。通常情况下,使用php文件来实现这一点是没有问题的。应该如何配置它?抱歉,如果我太迟钝了…我想我必须使用你的第二个建议,因为第一个建议在检索403文档时会导致403错误:)编辑您的编辑:查看我对Sean响应的响应。ErrorDocument 403“去,不要回来!”这对我很有用!我只需要显示一条简单的消息:)我最初尝试过这个,但是用php很难插入到文档中。我必须在整个文件中读入数组,在中间添加新条目,这样重定向行不会被覆盖。如果你知道其他简单的方法,我洗耳恭听(或者……眼睛……)
    RewriteCond %{REMOTE_ADDR}  ^127\.0\.0\.1$
    RewriteRule (.*)  403.php