at path:
ROOT
/
wp-content
/
plugins
/
wordfence
/
lib
/
Diff.php
run:
R
W
Run
Diff
DIR
2026-01-14 09:04:47
R
W
Run
audit-log
DIR
2026-01-14 09:04:47
R
W
Run
dashboard
DIR
2026-01-14 09:04:47
R
W
Run
rest-api
DIR
2026-01-14 09:04:47
R
W
Run
.htaccess
354 By
2026-01-14 09:04:47
R
W
Run
Delete
Rename
Diff.php
5.63 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
IPTraf.php
1.17 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
IPTrafList.php
2.98 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
WFLSPHP52Compatability.php
1.27 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
compat.php
425 By
2026-01-14 09:04:47
R
W
Run
Delete
Rename
diffResult.php
2.81 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
email_genericAlert.php
1.39 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
email_newIssues.php
8.82 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
email_unlockRequest.php
2.34 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
email_unsubscribeRequest.php
1.05 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
flags.php
6.62 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
geoip.mmdb
9.26 MB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
live_activity.php
580 By
2026-01-14 09:04:47
R
W
Run
Delete
Rename
menu_dashboard.php
28.16 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
menu_dashboard_options.php
15.37 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
menu_firewall.php
2.12 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
menu_firewall_blocking.php
10.25 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
menu_firewall_blocking_options.php
4.63 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
menu_firewall_waf.php
19.96 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
menu_firewall_waf_options.php
11.09 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
menu_install.php
1.73 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
menu_options.php
24.7 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
menu_scanner.php
21.6 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
menu_scanner_credentials.php
2.77 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
menu_scanner_options.php
8.41 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
menu_support.php
17.82 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
menu_tools.php
1.49 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
menu_tools_auditlog.php
16.43 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
menu_tools_diagnostic.php
50.8 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
menu_tools_importExport.php
1.28 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
menu_tools_livetraffic.php
39.43 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
menu_tools_twoFactor.php
19.6 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
menu_tools_whois.php
4.61 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
menu_wordfence_central.php
9.66 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
noc1.key
1.64 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
sodium_compat_fast.php
185 By
2026-01-14 09:04:47
R
W
Run
Delete
Rename
sysinfo.php
1.47 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
viewFullActivityLog.php
1.47 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wf503.php
9.67 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfAPI.php
10.1 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfActivityReport.php
20.55 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfAdminNoticeQueue.php
5.2 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfAlerts.php
8.19 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfAuditLog.php
47.13 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfBinaryList.php
1.02 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfBrowscap.php
3.9 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfBrowscapCache.php
256.83 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfBulkCountries.php
9.77 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfCache.php
6.02 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfCentralAPI.php
25.8 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfCommonPasswords.php
1.25 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfConfig.php
124.66 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfCrawl.php
6.92 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfCredentialsController.php
10.3 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfCrypt.php
4.05 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfCurlInterceptor.php
1.02 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfDB.php
11.49 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfDashboard.php
8.2 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfDateLocalization.php
352.13 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfDeactivationOption.php
2.13 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfDiagnostic.php
67.03 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfDirectoryIterator.php
1.89 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfFileUtils.php
2.72 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfHelperBin.php
1.97 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfHelperString.php
2.13 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfI18n.php
878 By
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfIPWhitelist.php
1.56 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfImportExportController.php
3.23 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfInaccessibleDirectoryException.php
303 By
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfInvalidPathException.php
266 By
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfIpLocation.php
1.8 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfIpLocator.php
2.7 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfIssues.php
27.93 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfJWT.php
5.33 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfLicense.php
10.95 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfLockedOut.php
9.73 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfLog.php
57.38 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfMD5BloomFilter.php
5.2 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfModuleController.php
754 By
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfNotification.php
6.41 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfOnboardingController.php
9.22 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfPersistenceController.php
819 By
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfRESTAPI.php
377 By
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfScan.php
15.92 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfScanEngine.php
128.95 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfScanEntrypoint.php
1.04 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfScanFile.php
1.01 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfScanFileLink.php
403 By
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfScanFileListItem.php
408 By
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfScanFileProperties.php
1.07 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfScanMonitor.php
4.05 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfScanPath.php
1.77 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfSchema.php
11.93 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfStyle.php
1.21 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfSupportController.php
24.18 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfUnlockMsg.php
1.14 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfUpdateCheck.php
27.23 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfUtils.php
128.73 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfVersionCheckController.php
19.27 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfVersionSupport.php
535 By
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfView.php
2.22 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfViewResult.php
1.42 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wfWebsite.php
1.75 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wordfenceClass.php
437.99 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wordfenceConstants.php
3.56 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wordfenceHash.php
42.7 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wordfenceScanner.php
28.09 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
wordfenceURLHoover.php
18.35 KB
2026-01-14 09:04:47
R
W
Run
Delete
Rename
error_log
up
📄
Diff.php
Save
<?php /** * Diff * * A comprehensive library for generating differences between two strings * in multiple formats (unified, side by side HTML etc) * * PHP version 5 * * Copyright (c) 2009 Chris Boulton <chris.boulton@interspire.com> * * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * - Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * - Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * - Neither the name of the Chris Boulton nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * * @package Diff * @author Chris Boulton <chris.boulton@interspire.com> * @copyright (c) 2009 Chris Boulton * @license New BSD License http://www.opensource.org/licenses/bsd-license.php * @version 1.1 * @link http://github.com/chrisboulton/php-diff */ class Diff { /** * @var array The "old" sequence to use as the basis for the comparison. */ private $a = null; /** * @var array The "new" sequence to generate the changes for. */ private $b = null; /** * @var array Array containing the generated opcodes for the differences between the two items. */ private $groupedCodes = null; /** * @var array Associative array of the default options available for the diff class and their default value. */ private $defaultOptions = array( 'context' => 3, 'ignoreNewLines' => false, 'ignoreWhitespace' => false, 'ignoreCase' => false ); /** * @var array Array of the options that have been applied for generating the diff. */ private $options = array(); /** * The constructor. * * @param array $a Array containing the lines of the first string to compare. * @param array $b Array containing the lines for the second string to compare. */ public function __construct($a, $b, $options=array()) { $this->a = $a; $this->b = $b; $this->options = array_merge($this->defaultOptions, $options); } /** * Render a diff using the supplied rendering class and return it. * * @param object $renderer An instance of the rendering object to use for generating the diff. * @return mixed The generated diff. Exact return value depends on the rendered. */ public function render(Diff_Renderer_Abstract $renderer) { $renderer->diff = $this; return $renderer->render(); } /** * Get a range of lines from $start to $end from the first comparison string * and return them as an array. If no values are supplied, the entire string * is returned. It's also possible to specify just one line to return only * that line. * * @param int $start The starting number. * @param int $end The ending number. If not supplied, only the item in $start will be returned. * @return array Array of all of the lines between the specified range. */ public function getA($start=0, $end=null) { if($start == 0 && $end === null) { return $this->a; } if($end === null) { $length = 1; } else { $length = $end - $start; } return array_slice($this->a, $start, $length); } /** * Get a range of lines from $start to $end from the second comparison string * and return them as an array. If no values are supplied, the entire string * is returned. It's also possible to specify just one line to return only * that line. * * @param int $start The starting number. * @param int $end The ending number. If not supplied, only the item in $start will be returned. * @return array Array of all of the lines between the specified range. */ public function getB($start=0, $end=null) { if($start == 0 && $end === null) { return $this->b; } if($end === null) { $length = 1; } else { $length = $end - $start; } return array_slice($this->b, $start, $length); } /** * Generate a list of the compiled and grouped opcodes for the differences between the * two strings. Generally called by the renderer, this class instantiates the sequence * matcher and performs the actual diff generation and return an array of the opcodes * for it. Once generated, the results are cached in the diff class instance. * * @return array Array of the grouped opcodes for the generated diff. */ public function getGroupedOpcodes() { if(!is_null($this->groupedCodes)) { return $this->groupedCodes; } require_once(dirname(__FILE__) . '/Diff/SequenceMatcher.php'); $sequenceMatcher = new Diff_SequenceMatcher($this->a, $this->b, null, $this->options); $this->groupedCodes = $sequenceMatcher->getGroupedOpcodes(); return $this->groupedCodes; } }