WordPressのプラグインのようにPHPで作成したプラグインを配布していますが、APIキーを実装したいので、ユーザーがAPIキーを入力して機能させる必要があります。PHPソフトウェアにAPIキーを実装する方法は?
どうすればできますか?そして、はい、私はすでにPHPがコンパイルされていないので簡単にバイパスすることができることを知っていますが、少なくともPHPの知識を持たない人もいます。
おかげ..
WordPressのプラグインのようにPHPで作成したプラグインを配布していますが、APIキーを実装したいので、ユーザーがAPIキーを入力して機能させる必要があります。PHPソフトウェアにAPIキーを実装する方法は?
どうすればできますか?そして、はい、私はすでにPHPがコンパイルされていないので簡単にバイパスすることができることを知っていますが、少なくともPHPの知識を持たない人もいます。
おかげ..
あなたはAPIキーと実際のソースコードをスクランブルすることができます。ソースコードの一部を暗号化し(たとえばlibmcryptを使用)、スクリプトにソースをロードして解読させる。もちろん、関係するルーチンを見つけた人は、ソースをディスクに簡単にダンプして代わりに使うことができますが、チェックを外すほど簡単ではありません。
しかし、すでに必要以上に進歩しています...論理的に考えると、キーのセットを生成することができ、ソフトウェアのインストール後にデータベースが作成されます...ユーザーがキーを取得すると、入力しますそれをソフトウェアに組み込み、全体のプログラムを起動して、キーをデータベースに入れます。アクティベーション中に入力したキーは、どこかのサーバーと照合されてチェックされます... –
あなたの小切手を削除する人が気にしない場合は、設定されたライセンスキーが有効かどうかを検証する文を実際に入力するだけでよいです。
私はあなたのライセンスキーは、単にSHA1ハッシュた言及気づきました。チェックサムとして使用できる余分な4文字をハッシュに簡単に追加することができます。例えば
:
function generate_key()
{
$serial = sha1(uniqid(rand(), true));
$checksum = substr(md5($serial), 0, 4);
return $serial . $checksum;
}
function verify_key($key)
{
$serial = substr($key, 0, 40);
$checksum = substr($key, -4);
return md5($serial, 0, 4) == $checksum;
}
これは非常に単純な例ですが、それは単に教育です。
基本的にライセンスキーではなく、サーバー上でスクリプトをpingのホストのサーバー上で有効であるかどうかを検証します。
これの欠点は、誰でもソースコードを開いてvalidate_key
を見つけることによって、有効なキーを生成することができるだろうということです。
は、あなたはそれがverify_key
を行うには、外部スクリプトを呼び出すかもしれないが、それは本当に努力する価値がありますか?また、ページの読み込み時間を犠牲にしてキーを確認します。
私はvBulletinによってはクラックするのは非常に簡単ライセンスシステムを持つ思い出すが、彼らは自分のドメインでスクリプトをpingを実行いくつかのセクションに隠された1x1のイメージを持っていました。ログを使用して、彼らはどのドメインがソフトウェアの違法コピーをホストしているのかを判断することができ、単に弁護士の手紙を管理者に送った。
もっと頑強なソリューションを望むなら、Zend Guardを調べることをおすすめしますが、ソフトウェアをクラックさせる人は気にしないように思われますので、私はできるだけ簡単に行きます。
コードがオープンソースの場合、複雑な暗号化システムを開発するのは本当にあまり役に立ちません...これがコンパイルされた言語なら別の話です。私はちょうど何か単純なものが必要なので、このソフトウェアを使う人はあなたの友人にあなたに行くと言うだけではありません。私の計画は自分の電子メールを鍵にマッチさせ、サーバ側でトグルすることです。友人に同じ電子メール/鍵を送ると、それは彼の友人のプラグインを切ってしまい、彼はおしっこになり、彼の友人がそのように使うことは決してないと学ぶ... –
APIキーが何であるか分かりません。
APIキーを使うか、スクリプトがアクセスし、APIまたはオンラインサービスと対話することを可能にするキーです。
あなたが説明しているように見えるのは、何らかの種類のライセンスキーなので、ユーザーが支払いや登録なしでスクリプトを操作できなくなることです。
APIキーはしばしばですが、には支払いまたは登録が必要ですが、2つは実際には同じではありません。
APIキーは、通常、使用状況を追跡し、オンラインサービスとデータの悪用を防ぐために配置されます。
あなたのケースでは、単にあなたのスクリプトへのアクセスを制限しようとしているようです。
あなたのスクリプトがリモートデータソースに根本的な依存関係を持っていない限り、この方法は機能しません。PHPを熟知しているユーザーは、検証を実行するコードを削除するだけです。
PHPの場合、ライセンスキーにも同じことが適用されます。ユーザーがスクリプトを実行するために必要でない限り、ユーザーはそれを回避する方法を見つけるでしょう。
検証はリモートで実行する必要があり、そのままにするにはインセンティブが必要です(リモートデータへのアクセスは明らかです)。
ええ、彼はライセンスキーについて話しています。 –
申し訳ありません私はapiキーを使用するwp上の他のすべてのプラグインについて話しています...彼らはそれを同じ方法で行います。プラグインを購入すると、unqiueキーがあなたに送信されます。キーを持つプラグイン..私はあなたがなぜそれが簡単にひび割れされることを言及し続けているのか分からない...誰が気に?使用するシンプルなプラグインを購入するほとんどの人は、方法を知っている方法を知っていません。彼らはそれを自分で作ることができるので、これを購入しません... –
あなたが達成しようとしているものは**です正当で安全な方法で実装することは不可能です**。 – jordanstephens
それは全く無意味です。そのPHPとして、あなたはソースコードを送信する必要があり、任意のユーザーはライセンスチェックコードを削除して実行することができます。
あなたがソフトウェアを本当に、本当に有用で、望ましい、または本質的でない限り、人々はライセンスキーをつぶすのが好きではありません。
申し訳ありませんあなたは間違っています...私は多くのクライアントのためのAPIキーを持っているプラグインを使用しています新しいキーを買うために私に戻ってください...(35人程度の)誰かが小切手をバイパスする方法を知っている場合、あなたはそうではないと思いますか?なぜなら、このプラグインを購入しない方法を知っている人たち...このプラグインは、C++のPHPを知らないエンドユーザー向けです。 –
@Rick、もしあなたが前にやったことがあります。あなたが最後にやったことは何でもしてください。 –
いいえ私はこれまでにやっていませんが、私によって開発されたものではありません...私は彼らのために販売しているアフィリエイトです...今私は自分のプラグインを作成したいです... –
本当にそれらを抑止することはありません。それらの知識はその小切手を取り除き、そのバージョンを利用可能にするでしょう。知識のないユーザーは代わりにそのDVDを使用します。一度DVDに保存されていたほとんどすべてのムービーは、ほとんどのユーザーの能力を超えて暗号化されていますが、現在はまったく暗号化されていません。 –
APIキーとはどういう意味ですか?伝統的な使用法は、「アクションを自動化するために使用するURLの秘密のコンポーネント」の行に沿っていますが、「プロダクトキー」のように聞こえます。質問自体については、本当に時間が無駄で、 "あなたのアプリキーのバイパス"をgoogleに知らせる必要はありません。 – Robert
@El Yobo ..実際には、 ...私は多くのプラグインがこのAPIキーを持っているのを見ました...ここでのポイントは、私が気にしていないかどうか気にしないですが、私はちょうどこの機能がほしいと思っています... –