at path:
ROOT
/
wp-content
/
plugins
/
wordfence
/
lib
/
Diff.php
run:
R
W
Run
Diff
DIR
2026-09-09 19:13:04
R
W
Run
audit-log
DIR
2026-09-09 19:13:04
R
W
Run
dashboard
DIR
2026-09-09 19:13:04
R
W
Run
rest-api
DIR
2026-09-09 19:13:04
R
W
Run
.htaccess
354 By
2026-09-09 19:13:04
R
W
Run
Delete
Rename
Diff.php
5.63 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
IPTraf.php
1.17 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
WFLSPHP52Compatability.php
1.27 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
compat.php
425 By
2026-09-09 19:13:04
R
W
Run
Delete
Rename
diffResult.php
2.85 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
email_genericAlert.php
1.39 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
email_newIssues.php
8.82 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
email_unlockRequest.php
2.34 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
email_unsubscribeRequest.php
1.02 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
flags.php
6.62 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
geoip.mmdb
8.22 MB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
live_activity.php
580 By
2026-09-09 19:13:04
R
W
Run
Delete
Rename
menu_dashboard.php
4.46 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
menu_dashboard_options.php
1.69 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
menu_firewall.php
1.94 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
menu_firewall_blocking.php
317 By
2026-09-09 19:13:04
R
W
Run
Delete
Rename
menu_firewall_blocking_options.php
3.07 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
menu_firewall_waf.php
4.01 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
menu_firewall_waf_options.php
2.02 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
menu_install.php
2.05 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
menu_options.php
9.15 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
menu_scanner.php
3.6 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
menu_scanner_credentials.php
2.86 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
menu_scanner_options.php
3.33 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
menu_support.php
10.87 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
menu_tools.php
1.68 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
menu_tools_auditlog.php
12.49 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
menu_tools_diagnostic.php
40.95 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
menu_tools_importExport.php
1.33 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
menu_tools_livetraffic.php
408 By
2026-09-09 19:13:04
R
W
Run
Delete
Rename
menu_tools_twoFactor.php
991 By
2026-09-09 19:13:04
R
W
Run
Delete
Rename
menu_tools_whois.php
1.3 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
menu_wordfence_central.php
9.8 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
noc1.key
1.64 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
sodium_compat_fast.php
185 By
2026-09-09 19:13:04
R
W
Run
Delete
Rename
sysinfo.php
1.51 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
viewFullActivityLog.php
1.47 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wf503.php
9.72 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfAPI.php
10.1 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfActivityReport.php
20.55 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfAdminNoticeQueue.php
13.17 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfAlerts.php
8.19 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfAuditLog.php
47.13 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfBinaryList.php
1.02 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfBrowscap.php
3.9 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfBrowscapCache.php
256.83 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfBulkCountries.php
9.77 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfCache.php
6.02 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfCentralAPI.php
25.94 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfCommonPasswords.php
1.25 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfConfig.php
126.9 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfCrawl.php
7.13 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfCredentialsController.php
10.31 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfCrypt.php
4.05 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfCurlInterceptor.php
1.02 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfDB.php
11.49 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfDashboard.php
9.25 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfDateLocalization.php
352.13 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfDeactivationOption.php
2.13 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfDiagnostic.php
69.43 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfDirectoryIterator.php
1.89 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfFileUtils.php
2.72 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfHelperBin.php
1.97 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfHelperString.php
2.13 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfI18n.php
878 By
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfIPWhitelist.php
1.56 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfImportExportController.php
3.23 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfInaccessibleDirectoryException.php
303 By
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfInvalidPathException.php
266 By
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfIpLocation.php
1.8 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfIpLocator.php
2.7 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfIssues.php
29.14 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfJWT.php
5.33 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfJavascriptBridge.php
198.91 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfLicense.php
10.95 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfLockedOut.php
9.81 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfLog.php
58.47 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfMD5BloomFilter.php
5.2 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfModuleController.php
754 By
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfNotification.php
6.7 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfOnboardingController.php
8.54 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfPersistenceController.php
1.4 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfRESTAPI.php
377 By
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfScan.php
15.98 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfScanEngine.php
128.27 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfScanEntrypoint.php
1.04 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfScanFile.php
1.01 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfScanFileLink.php
403 By
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfScanFileListItem.php
408 By
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfScanFileProperties.php
1.07 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfScanMonitor.php
4.09 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfScanPath.php
1.77 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfSchema.php
11.93 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfStyle.php
1.21 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfSupportController.php
24.95 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfUnlockMsg.php
1.14 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfUpdateCheck.php
27.23 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfUtils.php
131.69 KB
2026-09-09 19:13:04
R
W
Run
Delete
Rename
wfVersionCheckController.php
15.59 KB
2026-09-09 19:13:05
R
W
Run
Delete
Rename
wfVersionSupport.php
535 By
2026-09-09 19:13:05
R
W
Run
Delete
Rename
wfView.php
2.22 KB
2026-09-09 19:13:05
R
W
Run
Delete
Rename
wfViewResult.php
1.47 KB
2026-09-09 19:13:05
R
W
Run
Delete
Rename
wfWebsite.php
1.75 KB
2026-09-09 19:13:05
R
W
Run
Delete
Rename
wordfenceClass.php
400.53 KB
2026-09-09 19:13:05
R
W
Run
Delete
Rename
wordfenceConstants.php
3.35 KB
2026-09-09 19:13:05
R
W
Run
Delete
Rename
wordfenceHash.php
42.6 KB
2026-09-09 19:13:05
R
W
Run
Delete
Rename
wordfenceScanner.php
28.19 KB
2026-09-09 19:13:05
R
W
Run
Delete
Rename
wordfenceURLHoover.php
18.35 KB
2026-09-09 19:13:05
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; } }