質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

1回答

3002閲覧

WordPressの有料プラグイン作成にあたってアカウント管理の仕組みのアドバイスをお願い致します

退会済みユーザー

退会済みユーザー

総合スコア0

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

1グッド

1クリップ

投稿2017/04/25 10:11

WordPressのプラグインを作ろうと考えております。
有料販売目的なのですがPHPの動作について考察をお教えください。

プラグインのPHP部分はGPLライセンスで良いのですが、有料なのに無料で再配布されてしまう懸念はずっと議論されてきていると思うのでこちらでその議論については言及しません。

そうではなく再配布されてもお支払頂いた方にだけ利用できるようにしたいと考えています。

そこで、他の有料プラグインがどのような仕組みでそれを解決しているのか知りたいです。

単に知りたいだけでは自分で何も発するものがないので私なりの仕組みを考えてみたのですがそれについてもアドバイスいただけますでしょうか?

ちなみに前提としてサイトを作成するときに使うプラグインです。
ユーザーがサイトを閲覧するときには特に動作しません。
つまりサイト作成支援のプラグインです。
サイト作成者が簡単な入力でうまい具合にページを生成するという感じのプラグインを検討しています。
プラグインのアカウントはこちらが用意したサーバーで管理・アクティベーションする予定です。

###案1.

  1. 購入者にアカウントキーを発行する
  2. プラグインを通してWordPressにアカウントキーが保存される
  3. アカウントキーをこちらが用意したサーバーに送信すると、プラグインのコアとなるソースコードをサーバーから受け取ることができる
  4. そのソースコードをevalで実行する

こうすることでWordPressのプラグインにコアとなるソースコードを保存することがないので再配布されても問題ないとの考えです。
ただし懸念事項としてeval関数は危険ということです。
それとそもそもソースを送信するとか危険そうです。
コードを暗号化したzipファイルにして送信し、WordPress側で解凍して使う、という方法も考えたりしています。

###案2.

  1. 購入者にアカウントキーを発行する
  2. プラグインを通してWordPressにアカウントキーが保存される
  3. API形式でこちらが用意したサーバーにWordPressからデータを送信し、サーバーで変換されたデータをWordPressが受け取って処理する

この場合、いちいちデータをサーバーに送信して処理させるという手間がかかるのでレスポンスが悪いという懸念があります。
それと作成中のソースをサーバーに送るというのもサイト作成者の心情的に、またセキュリティ的によろしくない気もします。


上記の内容についてご意見を頂きたいと思います。
もしくはもっと良い方法があるなど、アドバイスをいただけたらと思います。
どうぞよろしくお願い致します!

退会済みユーザー👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

プラグインのPHP部分はGPLライセンスで良いのですが、有料なのに無料で再配布されてしまう懸念はずっと議論されてきていると思うのでこちらでその議論については言及しません。

申し訳ないのですが、案1のような形態ではGPLで配布することはできません。前提が崩れていますので、まず指摘しておきます。

「ソフトウェアをGPLで配布する」ということは、以下の権利を配布先、さらにその配布先…に保証することになります。

  • ソフトウェアのソースコードを得る権利
  • ソフトウェアを改造する権利
  • 改造の有無にかかわらず、同じ条件でソフトウェアを再配布する権利

ということで、「サーバ認証した上で送られてくるプログラムがないと動作しない」のでは、ソースコードが入手できないということなので、GPLの受け手側の権利侵害となってしまいます。そして、サーバから送られるソースを公開してもGPLで認められた権利ということで問題ない、ということになります。

一方で、案2のように「他のサーバに接続するプログラム」の場合は、GPL上の問題は発生しません。

なお、その3として、「GPL以外の(プロプライエタリな)ライセンスを適用する」方法もあります。そうすれば、認証をやろうが再配布を制限しようが、自分のライセンス次第なのでなんでもできます。WordPress本体はGPLですが、GPLとプロプライエタリを組み合わせたプログラムは再配布が不可能となるだけで、実行する分には問題ありません。

投稿2017/04/27 11:29

maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ockeghem

2017/04/27 21:38

WordPressの場合、テーマやプラグインもGPLであることが要求されるため、有償配布はOKですが、GPL以外のライセンスを適用することはできないと思います。質問者はそれを踏まえて質問しているのだと思います。
maisumakun

2017/04/27 22:05

「テーマやプラグインもGPLであることが要求される」というのは、どこからの制約でしょうか(公式ストアの制約なら、そこと無関係に配布すれば逃れられますし)。
ockeghem

2017/04/27 22:12

WordPress GPL で検索してみて下さい。WordPressのテーマやプラグインはWordPressの派生物であるので、テーマやプラグインもGPLとなる、という解釈なのだそうです。
maisumakun

2017/04/27 22:23

ありがとうございます。
退会済みユーザー

退会済みユーザー

2017/04/30 03:13

ご回答、ありがとうございます! 案1の件はGPL上問題ダメなのですね・・・。 案2の件は問題ないようですね。有名なセキュリティ関係のプラグインが同様のような動作をしているようです。つまりWordPressからデータをサーバーに送信してサーバー上でセキュリティ処理をして、その結果を再びWordPressで受け取っている、という感じでしょうか。 ご提示の案3は御二方の議論ではダメという感じですか・・。 ではもう一案。 プラグインのソースコードの暗号化しておいてサーバーから復号するキーを受け取ってからソースコードを復号化させ、動作させるのはどうでしょうか? さすがにソースコード全てを暗号化ではなく、コアとなる一部分のみ暗号化する感じです。 ソースコードは全てプラグインに含まれているので、単に動作させるためにキーが必要なだけというかんじです。 どうぞよろしくお願い致します。
haru666

2017/05/09 03:53

第一に、ソースを渡したくなければ、まったく渡さないことです。 一時的な復号化はガードにならないので案1の変法みたいにしても意味ないんじゃないですかね。「一時的に渡して手元で動作させられ」ません。一時的なんてありません。復号化されたものを配布されたら終わりです。 基本的に案2しかないと思いますが。 データ送受信するのが不安っていっても通常Webページとして送受信する素材程度のやり取りですよね…? サイトを作成するときに使うプラグインの全貌が分からないのでなんとも言えませんが、リアルタイムに通信しながら作業する類のツールでないなら、レスポンスも数秒程度は許容範囲内でしょう。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問