2014-10-21 2 views
0

고객 웹 사이트에 킬 스위치를 통합하고자합니다.웹 사이트 원격 재촉 스위치

방법 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

나중에 계약서에 돈을 지불 할 때 파일을 서버에 먼저 복사하라는 내용이 있는지 확인하십시오. – h2ooooooo

+1

클라이언트 사이트를 원격으로 종료 하시겠습니까? PHP 코드를 편집하지 않고 검사를 완전히 무시하는 것은 무엇입니까? –

+0

@MarcB 클라이언트는 웹 사이트를 사용하고 웹 사이트를 전달한 후 지불 할 것이므로, 돈을 내지 않으면 웹 사이트에 액세스 할 수 없습니다. 그리고 그가 저에게 afterwords를주는 경우에 나는 쉽게 웹 사이트 – user3337790

답변

2

귀하의 질문은 간단한 해결책에 대한 긴 접근 방식입니다. 당신이 "스위치의 플립"로 웹 사이트를 죽이고 싶은 경우에, 당신이 오직 할 필요가있는 다음과 같은 내용을 가지고 하나를 사용하여 .htaccess 파일을 대체한다 :

<IfModule mod_authz_core.c> 
    Require all denied 
</IfModule> 
<IfModule !mod_authz_core.c> 
    Order deny,allow 
    Deny from all 
</IfModule> 

annnnd이 작업을 완료! 이전 .htaccess 파일의 이름을 .htaccess.bak과 같이 "사이트를 다시 켤 때까지"바꿀 수 있습니다.

이것은 클라이언트 FTP 액세스 권한을 부여하지 않았고 파일을 완전히 제어한다고 가정합니다.

+0

이해가 안됩니다. 나는 클라이언트 서버에 액세스하지 않고 웹 사이트를 여러 차례 비활성화 및 활성화 할 수 있어야합니다. – user3337790

+1

@ user3337790 그런 다음 @MarcB에 동의하면 논리에 결함이 있습니다. 당신이 (거의 악의적이라고 생각하는) 코드를'eval' 함수로 암호화하더라도,이 살인을 어디서 발생시키는지를 쉽게 알 수 있습니다. – sjagr

+0

@hansmei가 말한 것처럼 당신의 접근 방식을 사용할 것입니다. – user3337790

6

기술적이지 않은 문제에 대한 기술적 인 해결책을 찾는 것처럼 들립니다. 대신 다음을 고려하십시오.

  1. 사기꾼이라고 생각하는 사람들과는 거래하지 마십시오.
  2. 배송 후 한 번에 전체 구현이 아닌 부분 구현을 시연 할 수 있으므로 점진적으로 청구됩니다.
  3. 독점적 인 통제하에 서버에서 완전한 기능의 시스템을 시연하고 결제시 소스 코드 (또는 서버 제어) 만 전송하십시오.
3

die() 함수를 사용하면 서버가 종료되지 않습니다. 액세스하려는 페이지의 렌더링이 중지됩니다. 당신의 모든 접근 방식이 잘못되었습니다. 코드를 .htaccess 파일을 덮어 쓰고 @sjagr이 제출 한 코드를 사용하는 방법을 살펴 봐야합니다.

다른 사람들이 말했듯이 다음과 같이 코드를 작성하면 안됩니다. 그것은 클라이언트 시스템을 취약하게 만들 것이고, 악성 코드로 간주됩니다.

관련 문제