有一次我为此为 Zend Framework 编写了一个超级简单的 FrontPlugin,修改它会很容易:)
class MM_FrontPlugin_DevelopmentAccess extends Zend_Controller_Plugin_ErrorHandler {
public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request) {
if(! isset($_SESSION['_devAccessPlugin'])) { // auth here instead of .htaccess
if (! isset($_SERVER['PHP_AUTH_USER']))
$this->sendAuthHeaders();
else {
if($_SERVER['PHP_AUTH_USER'] == 'dev' AND $_SERVER['PHP_AUTH_PW'] == 'ilikecheesecake')
$_SESSION['_devAccessPlugin'] = true;
else
$this->sendAuthHeaders();
}
}
}
private function sendAuthHeaders() {
header('WWW-Authenticate: Basic realm="Development zone, gtfo"');
header('HTTP/1.0 401 Unauthorized');
exit;
}
}