- ベストアンサー
PHPファイルを暗号化する方法とは?
- 自作でPHPファイルを暗号化(難読化)する方法を検討中です。ファイル全体を暗号化したいが、PHPの開始・終了タグとHTMLタグの混在が困難です。eval関数やecho関数では要件を満たせないため、他の方法を探しています。
- ネット上で調べてみましたが、phpコードのみを暗号化してeval関数で実行するものしか見つけられませんでした。ファイル全体を暗号化し、復号・実行する方法は限定的です。暗号化の目的は、ファイルの内容を隠蔽し、不正利用を防ぐためです。
- phpバージョンは5.2.14です。暗号化の方法やアドバイスがあれば教えていただきたいです。暗号化を実現するためには、ファイルの構造を解析し、タグの置き換えや処理の分割などが必要になるかもしれません。詳しい方からの回答をお待ちしています。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
私用(趣味)で提供しているのなら、割り切った方が良いのでは? 業務で提供なら、それこそ再利用の禁止を契約書に明記する方向で、金額上乗せ出来るのなら上乗せしておくとか。 私用なら兎も角、業務だと、そもそもソース見る人はプロになると思いますので。 (提供先の担当者が見るとは限りませんから。)
その他の回答 (2)
- andre55
- ベストアンサー率0% (0/1)
使用するサーバ環境はLinux/windowsなど どのような環境でしょうか?
お礼
契約書に再利用や改変などを明記するとともに、 また、ソースを当初予定していました簡単な暗号化をかけることとしました。 暗号化は、base64方式で暗号化し、復号した情報に対して PHPコードとPHPコードでない処理をeval関数とecho関数で実行するように 暗号化ファイルを一括で生成するツールをPHPで自作し、対応しました。 ご回答ありがとうございました。
補足
サーバ環境はWindowsで調査しています。 Linuxでは、php_screwで暗号化した状態での動作確認はできました。 試しに、Windows用にphp_screwを改良してみましたが、 一応動作をしたのですが、何度かajax通信を実施することで サーバが固まってしまい、うまく改良できなかったようです。 php_screwまでの暗号化は求めておりませんが、 windows版でソース内容を上記の質問内容に記載のように 暗号化(難読化)できればと考えております。 もう少し調査を続けたいと思います。 以上、よろしくお願いします。
phpのソースコードを誰かに提供する、と言う事でしょうか? サーバ上で貴方が作ったphpコードを実行するだけなら、利用者にはソースは見えないので、暗号化する意味は無いと思いますが。
補足
言葉足らずで申し訳ありません。 phpのソースコードを提供して使用して頂くことになり、 phpファイルを直接開くことが可能な状態にあります。 そのため、暗号化(難読化)をしなければならず、 今回、ここで質問させて頂いております。 よろしくお願いします。
お礼
契約書に再利用や改変などを明記するとともに、 また、ソースを当初予定していました簡単な暗号化をかけることとしました。 暗号化は、base64方式で暗号化し、復号した情報に対して PHPコードとPHPコードでない処理をeval関数とecho関数で実行するように 暗号化ファイルを一括で生成するツールをPHPで自作し、対応しました。 ご回答ありがとうございました。
補足
今回は業務での提供となります。 契約書に再利用や改変などは明記することとなりますが、 もう少し調査を行い、暗号化が厳しいようでしたら、 ソースはそのままとするか、暗号化ソフトの購入かを上司に決定して頂きます。 ご意見ありがとうございます。