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

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

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

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

Q&A

解決済

4回答

2042閲覧

ソースコードを暗号化する方法

moriyama_tosimi

総合スコア22

PHP

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

0グッド

1クリップ

投稿2020/03/21 18:46

「ソースコードを暗号化する方法」を、検索して、サイトの中身が良く解りません。
詳しく解説付きのサイトがあれば教えてください。
******サイト内の記事************
openssl_encryptの文法
openssl_encrypt ( string $data , string $method , string $key [, int $options = 0 [, string $iv = "" [, string &$tag = NULL [, string $aad = "" [, int $tag_length = 16 ]]]]] ) : string
openssl_encryptの文法解説
公式の文法の場合パラメータの数が多いため、何を行っているか分かりづらいです。最低限必要なポイントを絞ると、次のようになります。

openssl_encrypt(暗号化するテキスト, 暗号化種類, 鍵);
必要なパラメータは、暗号化するテキスト, 暗号化種類, 鍵です。暗号化するテキストを暗号化種類に基づいて暗号化します。

その際、鍵となるパラメータを利用します。これにより暗号したものを復号化する際に鍵を利用することで、無事元の状態に戻すことが可能です。
【実例】

<?php $key = '1234'; $plain_text = 'テックアカデミー'; $c_t = openssl_encrypt($plain_text, 'aes128', $key); var_dump($plain_text, $c_t); **************************   サイトのソースコードをコピペしても、うまくいかず、他のサイトは、ソースコードだけで、何を描いているか分かりませんでした。 素人初心者にでも優しく理解できるサイト、もしくは,ご教授して貰えませんでしょうか? 【P.S】 最終目的は、アプリをレンタルサーバにUPして、アプリを閲覧するが、ソースコードを公開したくありません。 アプリも、お金を取るつもりもないのです。ただ、マネされたくないだけなのです。

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

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

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

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

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

hoshi-takanori

2020/03/21 18:57

Web アプリを公開するだけなら、PHP のソースは公開されませんよ。
moriyama_tosimi

2020/03/21 19:09

ごめんなさい。アプリっと言うほどの物ではなかったです。 アプリを作っている人に申し上げ御座いません。
CHERRY

2020/03/21 21:33

ソースコードというのは、PHP のことですか?  それともWeb ブラウザに送信する HTML でしょうか?
m.ts10806

2020/03/21 21:41

例えtestとechoするだけでもWebアプリです。
m.ts10806

2020/03/21 21:49

ただ >検索して、サイトの中身が良く解りません とか 「コピペしても」と言う割りにそのサイトが提示されてません。 そのサイトを提示されないと誰も良し悪しを判断できません。 あと… PHPのコードはサーバー管理に入りでもしない限り見ることはできません。コード自体を暗号化する意味は全くないですよ。 出力するHTMLならブラウザから確認できるものですので、多少の難読化はしたとしても、難読化を解除するツールもあったはずで。 そもそも暗号化したらコード動かないですしね。
mit0223

2020/03/21 23:08

m.ts10806 さん、もうそれ(あと…以降)で回答していいんじゃないでしょうか。
m.ts10806

2020/03/21 23:33

mit0223さん 質問者さんが納得されてからの方がいいと思って、待ちです。
退会済みユーザー

退会済みユーザー

2020/03/22 00:20 編集

javaサーブレットとか選択するべきなんじゃないかと、チャチャ入れしてみるテスト。インタプリタ言語で実行せず、コンパイルなどソースコードから実行用コードを作ってから実行する仕組みを採用したらいいのに。
guest

回答4

0

アプリをレンタルサーバにUPして、アプリを閲覧するが、ソースコードを公開したくありません。

ふつうにアップロードしただけでも、エンドユーザーにはソースコードは公開されません

むしろ、サーバサイドで暗号化しても、

  • サーバ設定などに問題がなければ、そもそも公開されないので無意味
  • サーバに不正アクセスできてしまった場合、プログラムは結局サーバ上で復号して実行しないといけないので、サーバにアクセスできる状況なら解読可能

ということで、暗号化してそれが有効に働く状況はほぼありません。それよりサーバ管理を適切に行うほうが必要でしょう。

投稿2020/03/21 23:57

maisumakun

総合スコア146018

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

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

0

最終目的は、アプリをレンタルサーバにUPして、アプリを閲覧するが、ソースコードを公開したくありません。

アプリも、お金を取るつもりもないのです。ただ、マネされたくないだけなのです。

上記に対しての回答ですが、「昔見たなぁ。。。」と思って探してみました。
PHPで関数やファイルそのものを難読化し、中身をわかりにくくさせる方法

おおよそ言いたいことが揃っていました。ご確認の上、質問を整理してみてください。

なお、リンク先お質問にある
Dissecting a spammer’s spam script
は再読しても面白かったです。
時間のあるときにでも読んでみてください。

投稿2020/03/22 00:56

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

m.ts10806

2020/03/22 01:12

昔見たなぁは私も思いました。 結局解決してないんですよね。。。
guest

0

既視感ありますが、一言。

不通にアクセスするだけで一般の利用者にPHPとかを見られたら大問題です。
もし、見られる状況なら

  1. 言語自体に重度の脆弱性
  2. 質問者さんが書かれたコードに重度の脆弱性がある。
  3. 質問者さんの環境に重度の脆弱性がある。

のいずれかです。

どちらにせよ、これらの対策が行われていれば暗号化は無意味です。

投稿2020/03/22 05:53

kyoya0819

総合スコア10429

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

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

0

自己解決

私の認識不足による、質問をしてしまい。申し訳ございません。
ご返答してっ下さった方々、有難う御座いました。
勉強になりました。また、わけのわからない質問をしてしまうかもしれませんが、
その時は、よろしくお願いいたします。

投稿2020/03/22 02:37

moriyama_tosimi

総合スコア22

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

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

m.ts10806

2020/03/22 03:32

この回答で解決済みにするほうがよろしくないですね。 自己解決にしても質問に答えてません。 既についた回答からベストアンサーを選んだ方が使い方としては正しいです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問