在 htaccess 中,我已将 ErrorDocument 403 设置为一些友好的 php 页面,如:
ErrorDocument 403 http://www.site.com/error/403-forbidden.php
问题是,我想找到一种简单的方法来跟踪所有 403-forbidden 的 那发生在网站上。到目前为止,我有 PHP 代码可以通过他们的 IP 等向我发送电子邮件,但我找不到的东西也能告诉我这个人是如何到达那里的。
例如,在 htaccess 中,我有一条规则禁止在 URL 中使用美元符号 ($)。所以,如果我故意去:http://www.site.com/ $ 我被重定向到 403-forbidden.php 脚本。在此脚本中,有没有办法记录“此人到达那里是因为他们尝试使用 $”(或类似的东西)?
最佳答案
在您的 403-forbidden.php 页面上,您可以访问 $_SERVER['HTTP_REFERER'] 变量,以检查用户尝试访问的 URL,然后再结束于您的错误页面。
您可以将其记录到您的数据库中,或将其发送到您的邮件地址。
有关 $_SERVER 的更多信息
关于php 记录 403 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21855820/