Skip to content

Instantly share code, notes, and snippets.

@malkafly
Last active September 30, 2024 12:28
Show Gist options
  • Save malkafly/035c318d01b6c943f813073bde86305e to your computer and use it in GitHub Desktop.
Save malkafly/035c318d01b6c943f813073bde86305e to your computer and use it in GitHub Desktop.
Remover .htaccess maliciosos do wordpress
<?php
// Função para ajustar as permissões de arquivos e diretórios
function ajustarPermissoes($dir) {
// Abre o diretório
$itens = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($dir),
RecursiveIteratorIterator::SELF_FIRST
);
// Itera sobre cada item (arquivo ou diretório)
foreach ($itens as $item) {
if ($item->isDir()) {
// Define permissão 755 para diretórios
chmod($item, 0755);
} else {
// Define permissão 644 para arquivos
chmod($item, 0644);
}
}
// Define permissão 755 para o diretório raiz
chmod($dir, 0755);
}
// Caminho para o diretório raiz do WordPress
$raizWordPress = __DIR__; // ou use o caminho específico: "/caminho/para/wordpress"
// Chama a função para ajustar as permissões
ajustarPermissoes($raizWordPress);
echo "Permissões ajustadas com sucesso!";
?>
<?php
function listHtaccessFiles($dir) {
$htaccessFiles = [];
$rii = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir));
foreach ($rii as $file) {
if ($file->isFile() && $file->getFilename() === '.htaccess') {
$htaccessFiles[] = $file->getPathname();
}
}
return $htaccessFiles;
}
$directory = __DIR__; // Diretório public_html
$htaccessFiles = listHtaccessFiles($directory);
if (!empty($htaccessFiles)) {
echo "Arquivos .htaccess encontrados:<br>";
foreach ($htaccessFiles as $file) {
echo $file . "<br>";
}
} else {
echo "Nenhum arquivo .htaccess encontrado.";
}
?>
<?php
function deleteHtaccessFiles($dir) {
$files = scandir($dir);
$unremovableFiles = [];
foreach ($files as $file) {
if ($file != '.' && $file != '..') {
$fullPath = $dir . '/' . $file;
if (is_dir($fullPath)) {
$unremovableFiles = array_merge($unremovableFiles, deleteHtaccessFiles($fullPath));
} elseif (is_file($fullPath) && basename($fullPath) === '.htaccess') {
if (!unlink($fullPath)) {
$unremovableFiles[] = $fullPath;
}
}
}
}
return $unremovableFiles;
}
$directory = __DIR__; // Diretório raiz onde o script está localizado
$unremovableHtaccessFiles = deleteHtaccessFiles($directory);
if (empty($unremovableHtaccessFiles)) {
echo "Todos os arquivos .htaccess foram removidos com sucesso.";
} else {
echo "Não foi possível remover os seguintes arquivos .htaccess:\n";
foreach ($unremovableHtaccessFiles as $file) {
echo $file . "\n";
}
}
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment