使用管理面板编辑或删除plugin.htaccess

时间:2012-07-11 作者:Ben Lee

我正在寻找一种方法来编辑或重置.htaccess wordpress站点的文件,无需访问文件系统,只能使用wp admin web界面和/或插件*(如果您感兴趣或认为相关,请参阅下面的背景信息)。

在WordPress SE上快速搜索发现了一些有希望的东西:

Plugin to edit htaccess file

我尝试安装了那里建议的两个插件,但都不起作用**(如果你认为相关的话,请参阅下面解释这些插件为什么不起作用)。

在google上搜索,我能找到的唯一另一个有希望的选择是一个名为“WP htaccess Editor”的插件,该插件声称完全可以做我想要的事情——只需为.htaccess. 但是我不能安装这个插件。当我尝试时,它失败了,说

“无法创建目录。wp-content/upgrade/wp-htaccess-editor.1.1.12/wp-htaccess-editor”。

How can I change or remove a Plugins .htaccess file from inside the WordPress Admin Interface?

<人力资源>

*Back story

我的朋友最近发现她的WordPress网站已被破坏,其中包含恶意软件重定向。她不知道它是在哪里托管的,也不知道是谁托管的。很明显,几年前是别人为她设置的,而她最近一直无法联系到他。因此,我只能使用wp admin web界面。

我使用一个名为“BackupBuddy”的插件下载了他们网站的副本,并发现了恶意软件的来源。这个.htaccess 包含指向恶意软件站点的重定向。

问题是,我一辈子都想不出如何去掉这些线。再说一遍,我没有访问文件系统的权限(我希望有,这将是一个非常简单的修复)。

<小时>

**Explanation for why the plug-ins I tried didn\'t work:

首先,wordpress插件管理界面在很大程度上不适合我,因为几乎所有页面(包括插件安装页面)都会因为htaccess中的恶意软件行而重定向。幸运的是,“upload zip file”插件安装方法仍然有效,所以我就是这样安装插件的。

当我尝试第一个列出的插件(“WP-htaccess-Control”)时,它让我进入插件设置并填写所有选项,甚至向我显示了应该写入的结果输出.htaccess (输出看起来不错)。问题是,单击“保存更改”虽然报告成功,但似乎对重定向没有任何作用。通过backup buddy进行的另一次下载确认.htaccess 未修改文件。

第二个插件(“All-in-one htaccess插件”)是Catch-22;在执行任何操作之前,都需要启动一系列测试,但单击插件设置页面上的“启动测试”按钮会导致一个页面被重定向到恶意软件页面.htaccess. 所以我不可能使用这个插件。

2 个回复
最合适的回答,由SO网友:fuxia 整理而成

can 如果服务器的PHP用户具有写入权限,则删除每个插件的文件。诀窍是激活后立即将其删除。下面是一个基本示例代码:

<?php # -*- coding: utf-8 -*-
/**
 * Plugin Name: Delete .htaccess
 * Description: Deletes the .htaccess file on activation, deactivates itself then.
 * Plugin URI:  http://wordpress.stackexchange.com/q/58183/73
 *
 * Delete .htaccess, Copyright (C) 2012 Thomas Scholz
 */

register_activation_hook( __FILE__, \'wpse_58183_delete_htaccess\' );
add_action( \'admin_notices\', \'wpse_58183_admin_notice\' );

function wpse_58183_delete_htaccess()
{
    $root = trailingslashit( $_SERVER[\'DOCUMENT_ROOT\'] );
    unlink( $root . \'.htaccess\' );
}

function wpse_58183_admin_notice()
{
    echo \'<div class="updated"><p><code>.htaccess</code> deleted.<br>Plugin deactivated.</p></div>\';
    deactivate_plugins( basename( __FILE__ ) );
}
Download as ZIP filesee the code on GitHub.

但将站点移动到另一台服务器!只要你不能控制每个SSH或FTP文件,网站就有可能再次遭到黑客攻击。

SO网友:Matt Sawyers

真的没有太多的选择。(我个人知道)。如果您仅限于wp admin,我会这样做:看看您是否可以找到托管它的人,看看您是否可以找到托管ip地址或与某人联系。首先,你能在域名上运行whois吗?有时,其中列出了联系信息。如果你朋友的联系信息在那里,那么试着去whoishostingthis。com并在域中键入,以查看主机是谁,并查看有关联系他们的信息。大多数共享托管公司都可以在某种程度上帮助您。最后,我认识一些人,他们使用Sucuri安全技术成功地从网站上删除恶意软件。不过,这会让你的朋友退回89美元。

结束

相关推荐

WP有生成.htaccess重写条件的功能吗?

我知道我可以编辑。htaccess手动访问并在其中添加一个RewriteCond语句,但我需要构建一个插件,通过使用WP rewrites以正确的方式执行此操作,然后将其推入。htaccess with flush\\u rewrite\\u rules()。这种情况下我需要重写。WP是否有一些模糊的函数,让我将RewriteCond语句推送到中。htaccess?