当我打开https://127.0.0.1/mutillidae/时,我的网页显示此错误
我还更改了 LoggerAppenderFile.php 的权限,但仍然出错。
php文件代码是
<?php
/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*
* @package log4php
* @subpackage appenders
*/
/**
* FileAppender appends log events to a file.
*
* Parameters are ({@link $fileName} but option name is <b>file</b>),
* {@link $append}.
*
* @version $Revision: 806678 $
* @package log4php
* @subpackage appenders
*/
class LoggerAppenderFile extends LoggerAppender {
/**
* @var boolean if {@link $file} exists, appends events.
*/
private $append = true;
/**
* @var string the file name used to append events
*/
protected $fileName;
/**
* @var mixed file resource
*/
protected $fp = false;
public function __construct($name = '') {
parent::__construct($name);
$this->requiresLayout = true;
}
public function __destruct() {
$this->close();
}
public function activateOptions() {
$fileName = $this->getFile();
if(!is_file($fileName)) {
$dir = dirname($fileName);
if(!is_dir($dir)) {
mkdir($dir, 0777, true);
}
}
$this->fp = fopen($fileName, ($this->getAppend()? 'a':'w'));
if($this->fp) {
if(flock($this->fp, LOCK_EX)) {
if($this->getAppend()) {
fseek($this->fp, 0, SEEK_END);
}
fwrite($this->fp, $this->layout->getHeader());
flock($this->fp, LOCK_UN);
$this->closed = false;
} else {
// TODO: should we take some action in this case?
$this->closed = true;
}
} else {
$this->closed = true;
}
}
public function close() {
if($this->closed != true) {
if($this->fp and $this->layout !== null) {
if(flock($this->fp, LOCK_EX)) {
fwrite($this->fp, $this->layout->getFooter());
flock($this->fp, LOCK_UN);
}
fclose($this->fp);
}
$this->closed = true;
}
}
public function append(LoggerLoggingEvent $event) {
if($this->fp and $this->layout !== null) {
if(flock($this->fp, LOCK_EX)) {
fwrite($this->fp, $this->layout->format($event));
flock($this->fp, LOCK_UN);
} else {
$this->closed = true;
}
}
}
/**
* Sets and opens the file where the log output will go.
*
* This is an overloaded method. It can be called with:
* - setFile(string $fileName) to set filename.
* - setFile(string $fileName, boolean $append) to set filename and append.
*/
public function setFile() {
$numargs = func_num_args();
$args = func_get_args();
if($numargs == 1 and is_string($args[0])) {
$this->setFileName($args[0]);
} else if ($numargs >=2 and is_string($args[0]) and is_bool($args[1])) {
$this->setFile($args[0]);
$this->setAppend($args[1]);
}
}
/**
* @return string
*/
public function getFile() {
return $this->getFileName();
}
/**
* @return boolean
*/
public function getAppend() {
return $this->append;
}
public function setAppend($flag) {
$this->append = LoggerOptionConverter::toBoolean($flag, true);
}
public function setFileName($fileName) {
$this->fileName = $fileName;
}
/**
* @return string
*/
public function getFileName() {
return $this->fileName;
}
}
我怎么解决这个问题 ?
我在这里http://fanli7.net/a/bianchengyuyan/PHP/20130723/398120.html中找到了解决方案,但失败了。如果此问题无法解决,那么对我的实验室测试可能会出现大问题?
最佳答案
行。我找到了解决方案。实际上,您设置了旧版本的 mutillidae 。所以这是 buggy 程序。然后我找到一个新版本。这是下载链接enter link description here。设置好之后,它会很棒。
关于php - 为什么在kali linux中显示OWASP Mutillidae II php警告?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29594473/