恶意软件攻击将任何 index.html 文件重命名为 index.html.bak.bak,我需要一种方法将它们全部重命名。我在这里找到了一些例子,但没有一个对我有用,我可能只是不知道如何正确修改语法。
仅限 Linux 命令行访问。
如果你有重命名文件的权限,那么我假设你也有创建文件的权限。如果您的服务器可以运行 PHP 脚本,您可以使用下面的脚本来完成这项工作。
要使用 PHP 脚本,请更新脚本中的
$root_dir
变量,将“htdocs”替换为文档根目录的目录名称。将脚本(作为可执行文件)保存在 HTML 文件的文档根目录的父目录中(假设您可以使用 vi 之类的工具创建脚本或使用 FTP 上传脚本)。然后,执行脚本。
<?php
/**
* File: rename-recursively.php.
*/
function walk( $directory_path, $pattern ) {
function walker( $directory_path, $pattern ) {
try {
foreach ( glob( $directory_path . '/*' ) as $path ) {
if ( is_dir( $path ) ) {
walker( $path, $pattern );
} else {
$base_name = basename( $path );
if ( preg_match( $pattern, $base_name ) == 1 ) {
$destination_dir = dirname( $path ) . '/';
$new_file_path = $destination_dir . 'index.html';
rename( $path, $new_file_path );
}
}
}
} catch( \Exception $e) {
echo $e->getMessage();
}
}
walker( $directory_path, $pattern );
}
// Replace 'htdocs' with the directory name of your document root.
$root_dir = __DIR__ . '/htdocs';
$regex_pattern = '/index\.html\.bak\.bak/';
walk( $root_dir, $regex_pattern );