1

カスタムメイドのCMSをドメイン間で処理することを防ぎたいのですが、購入したDoainでのみ動作し、購入から1、2年間はonluyで動作するようにしたいです。

コード生成の部分は問題ではありませんが、ハッカーによる変更を防ぐ方法が最も難しい部分です。

たとえば、vBulletin保護のようなもの。(私もそれを無効にすることができることを知っています)

PHPで書かれた私のCMSにそのようなものを実装する方法は?

アプリ全体のさまざまな場所で変数をチェックし、何らかの方法でマスクする必要があると思います。そのため、依存関係を検出して削除するのは簡単ではありません。

非常に難しくて難しいトピックであることを知っているので、本、ウェブディスカッション、記事などの方向性に感謝します。

ところで。サーバーに接続してドメインに問題がないかどうかを確認することはできません。接続できないためにサーバーがダウンし、クライアントもダウンする可能性があります。

4

1 に答える 1

4

あなたは物事の組み合わせを行うことができます。

  1. 新しいクライアントドメインには、ソフトウェアが機能するために必要なクライアントのインストールごとに固有の生成されたライセンスキーを与えることができます。キーは、ホストされているドメインごとに1つバインドする必要があり、サーバーにリモートで保存するだけでなく、クライアントインストールでローカルに保存する必要があります。

  2. あなたまたは他の誰かが初めてcmsをインストールするときは、ライセンスキーを入力し、リモートサーバーで確認する必要があります。これは、初期セットアップ時間には十分なはずです。サーバーに関する情報をリモートデータベースに保存します。このリモート手順が失敗した場合、インストールは失敗するはずです。データベースに保存する暗号化キーをフェッチするなど、これを必要かつ必須にするための賢い方法を考えてください。

  3. インストール中またはインストール後に、暗号化キーを生成し(または生成せず)、コードに必要なアプリサーバー上のファイルに一意のものを保存できます。非常に安価なのは、ファイル/MY-CUSTOM-CMS-LICENSE.txtを、その中にプレーンテキストのキーを使用して作成することです。これは、後で検証するための別のベクトルになる可能性があります。cmsをコピーしたWebサイトを見つけた場合は、このtxtファイルを確認できます。

  4. ソフトウェアにサーバーにコールホームを送信させてから、キーとサーバー情報(IP、ホストなど)を送信します。実行するためにサーバーに依存する必要はありません。つまり、失敗した場合にソフトウェアを実行させることができます。時々家に電話するのはとても役に立ちます。たとえば、X日ごとにサーバーのURLにpingを実行し、サーバーがダウンしている場合は、翌日にホームコールチェックを実行します。これが非常に便利な理由の1つは、クライアントがappフォルダーをあるドメインから別のドメインにコピーして2番目の違法サイトをセットアップする場合、index.phpファイルを実行するとすぐにホームと呼ばれるためです。そして、彼らがあなたのコードのすべての行をチェックしておらず、それがこれを行っていることさえ知らない場合、彼らはかなり簡単に捕らえられるでしょう。あなたがする必要があるのは、いわば「家と呼ばれる」人のある種のログをチェックすることです。

  5. 製品の条件を含む適切なソフトウェア使用許諾契約書を作成し、アプリのルートディレクトリにあるLICENSEというファイルに配置します。これにより、クライアント(およびその開発者)は、コピーして再利用するのが自由ではないことを認識できます。後で誰かがそれをコピーした場合、あなた(またはあなたの弁護士)はファイルを指して、「あなたはこのぎくしゃくした男の子を読んでいませんでした」と言うことができます

  6. コード内に、コードに固有の何か(または多くのもの)を作成します。たとえば、wordpressの管理者はデフォルトで/ wp-adminであり、アプリ内のほぼすべてのファイルがで始まるwp-ため、簡単に検出できます。アプリ全体を特別なフォルダーに追加します。のようなすべての出力にメタタグを追加します<meta name="generator" content="vBulletin 4.0.4" />。アプリに組み込んで書き込むことができるものは他にもたくさんあり、それがコードであることをテールサインに伝えることができます。重要なのは、すべてを取り除くという仕事を困難な作業にしたり、泥棒に迷惑をかけたりするようなものがたくさんあることです。コードを盗むためだけにすべてのコードをリファクタリングするほど頭がおかしい人はいないと思います。彼らがこれらのコードビットを削除し、それを再販/再利用する場合、訴訟のさらに強力なケースがあります。

  7. スクリプトを作成してウェブをクロールするか(ugh)、Googleで検索を実行するか、アプリに配置した検出可能なメソッドのいずれかが見つかった場合に通知するようにGoogleアラートを設定することもできます(#3、#4、#5、 #6、#8)

  8. www.maxcdn.comのようなCDNを購入し、そこでJavaScriptファイルをホストして、それをコードに入れることができます。<script src="http://cms-headquarters.example.com/license.js">CDN上にあるため、失敗する可能性は非常に低く、1週間ダウンしても問題ない場合は、サーバーにアクセスしていないユーザーを確認するだけです。

  9. 煩わしい抑止力を追加するために、コードの一部を難読化します。

vbulletinがそれをどのように行うかについて:

Finally here's a PHP class that tries to offer a partial solution: PADL (PHP Application Distribution License System)

于 2012-12-11T21:27:50.650 に答える