2012-03-22 7 views
8

展開後に私のLinuxサーバに自分のコードを暗号化または封じ込める方法はありますか?私はZendが何らかの暗号化を行っているのを知っていますよね?それは人々が使うものなのでしょうか?これも可能ですか?コードをオンラインで安全に保つにはどうすればいいですか?配備時にソースコードを保護する方法は?

+0

信頼できない場合は他のユーザーがサーバーにアクセスできないようにしますか?プログラムを安全にするため、「ハッカー」は必要ではないファイルにアクセスできず、信頼できる人だけがサーバーに直接アクセスできるようにしてください。 –

+3

コードの暗号化は、実際にWebソフトウェアを製品として販売する人々のためのものです。独自のサーバーに展開している場合は、必ず暗号化しますが、通常の方法ではありません。サーバーを保護するだけです。 – halfer

答えて

15

あなたは正しいですが、Zend Encoder,Ion CubeまたはSource Guardianのようなものを使用してソースコードを暗号化することができます。

あなたのコードを譲り渡し、人々がそれを盗もうとしない限り、実際には必要ありません。

あなたのサーバーについて、あなたは安全ではないとはどういう意味ですか?

+0

FacebookルートとPHC/HipHopに行くことができました。コンパイルされたコードの利点(および欠点)を、コンパイルし直すために再コンパイルする必要があるため、速くて保守が難しくなります。 – CD001

+0

私は妄想していますか? – coderama

+1

@RD。再び最高のウェブサイトの管理者は妄想です! – Blindy

2

サーバー上のファイルシステムが侵害された場合、すべてが既に失われています。あなたができることは、Webサーバーのユーザーが書き込み可能なフォルダを制限することです。

アプリケーションコードはDOCUMENT_ROOTの外部に保管してください。公開されているファイルは、実際にユーザーを表示することを目的としたファイルであるか、機密情報を表示しないファイル(例えば、include ../app/bootstrap.php)を含むindex.phpファイルでなければなりません。

Zend Guardを使用できますが、これはコードの所有者に影響します。あなたは常にそれを維持する人ではないかもしれません。

4
  1. 定期
  2. は、ブラウザからのデータを信用してはいけません、あなたのサーバー上で開いているポートを確認する - それを検証し、それを検証します。
  3. 定期的にマシン上のプロセスとそれにアクセスできるユーザーを監査してください。
  4. 外部からアクセス可能なファイルのみがドキュメントルートにあります。インクルードファイルなどはここには存在しないはずです
  5. ログファイルを定期的にチェックして、疑わしいアクセスを確認してください。
  6. PHPエラー/警告の場合 - クライアント(ブラウザ)に何が間違っているかを知らせないメカニズムを見つけます。それを自分に送ってください。これはMySqlでも同様です。