4

拒绝来自恶意脚本的请求的最佳方法是什么?我有一个带有模块的 Zend 应用程序。我有一个扫描仪正在拨号的 URL 列表,例如 mywebsite.com/phpmyadmin、/webmail、/cpanel 等。现在,它们正在获取 404,阻塞了我的错误日志。我想从应用程序中对它们进行 403 处理。(除非有更好的方法来处理)?

Zend 中最快的 403 方法是什么,所以它不会在调度周期中不必要地搅动?我在下面的插件中做,但我不确定这是最好的方法:

public function preDispatch(Zend_Controller_Request_Abstract $request)
{
    if (malicious request) {
        $this->getResponse()
                    ->clearHeaders()
                    ->setHttpResponseCode(403)
                    ->appendBody("Forbidden")
                    ->sendResponse();
    }
}

感谢您的任何建议!

4

2 回答 2

1

查看名为 Redirector 的 Zend Controller Action Helper:http: //framework.zend.com/manual/en/zend.controller.actionhelpers.html它会和你的插件做同样的事情,但这并不一定能成功更快。

于 2010-12-13T16:13:57.430 回答
0

如果您知道错误请求 URI 的样子,您可以使用 mod_rewrite 规则将它们直接发送到一些自定义静态错误页面。在将请求发送到 index.php 的规则之前输入规则,这些请求永远不会命中您的应用程序。

RewriteEngine On
RewriteRule ^/mywebsite.com/phpmyadmin /errorpage.php [L]
RewriteRule !(phpdoc|docs)|\.(js|ico|gif|jpg|png|css|html)$ /index.php
于 2010-12-13T16:20:26.310 回答