私のとても仲の良い友人が、ある時私に愚痴をこぼしたのを覚えています。彼は他人のために PHP プログラムを開発するために半月も夜勤をしていたことが判明し、その結果、ソースコードを盗んだ暴利者に遭遇しました。最初にテストしたいと言いましたが、その後、電話は消え、QQ はオンラインになりませんでした。
よく考えてみると、PHP を使用して開発されたプログラムはすべて、誰でも自由に使用および変更できるように非常に複雑に書かれています。
では、どうやって暗号化するのか。自分の PHP コード? 2. 暗号化された PHP コードを他の人のコンピューターで実行します。自分だけの空間で。
暗号化されたものは依然として解読できます。Web サイトを作成してそこにコードをアップロードすると、他の人はドメイン名を介してその効果を確認できます。あなたはそれを自分で作成することができ、他の人はそのドメイン名を介してその効果を確認することができます
コードが暗号化されていない場合、コードや写真をダウンロードすることはできません。
という名前でページを保存すると、暗号化されたものを解読することができ、他の人はドメイン名を介してその効果を確認できます。有料です
そのまま保存されたコードはページの HTML だけであり、PHP コードは見ることができません。そうしないとプログラマは惨めになることはありません
暗号化されたものはまだ解読できます、自分で行うことができます Web サイトコードをアップロードすると、他の人はドメイン名を通じて効果を確認でき、支払い後にソース コードを渡すことができます
はい PHP コード暗号化用の専門的な暗号化ソフトウェア (有料) があり、暗号化されたコードは対応する復号環境で実行する必要があります
PHP コードのプリコンパイル用の zend プリコンパイル ツールがあります (有料ですが、海賊版もあります)、プリコンパイルされたコードは同じです zend 仮想プロセッサが必要です
PHP コードをスクランブルします。 スクランブルは、実行時に特別な要件はありません
テストするための独自のスペースを与え、テスト後にそれを与えます。または、安全なトランザクションを実行してください。
function encode_file_contents($filename) {
$type = strto lower ( substr ( strrchr ( $filename, '.' ), 1 ) );
if ('php' == $type && is_file ( $filename ) ) && is_writable ( $filename )) { // PHP ファイルで書き込み可能な場合は、圧縮してエンコードします
$contents = file_get_contents ( $filename ) // ファイルがエンコードされているかどうかを確認します
$contents = php_strip_whitespace ( $filename ) ;
// PHP ヘッダーとトレーラー タグを削除します
$headerPos = strpos ( $contents, ' $footerPos = strrpos ( $contents, '?>' ); content = substr ( $contents, $headerPos + 5, $footerPos - $headerPos );
$encode =base64_encode ( gzdeflate ( $contents ) ); // エンコードを開始します
$encode = '";
return file_put_contents ( $filename, $encode );
}
return false;
}
// 関数を呼び出します
$filename = 'test.php';
encode_file_contents ( $filename );
echo "OK、暗号化が完了しました!"?>
$contents = file_get_contents ( $filename ) / / ファイルがエンコードされているかどうかを判断します
$contents = php_strip_whitespace ( $ filename );
// PHP ヘッダーとトレーラー タグを削除します
$headerPos = strpos ( $contents, ' $footerPos = strrpos ( $contents, '?>' );
$contents = substr ( $contents, $headerPos + 5, $footerPos - $headerPos );
$encode =base64_encode ( gzdeflate ( $contents ) ); $encode = '";
return file_put_contents ( $filename, $encode );
return false;
}
// 関数を呼び出します
$filename = 'test.php';
encode_file_contents ( $filename ); "?>
元のページのコンテンツは
eval(gzinflate(base64_decode('41JILUvM0UivysxLy0ksSdVISixONTOJT0lNzk9J1VB3LHe0VdfU1LRWsLcDAA=='))); になります
実行中のエフェクトは元のページではありません
これは理解している人向けです、一般的な暗号化は役に立ちません
私が望む効果は、ソースコードが文字化けしていることが他の人に見えることですが、それが簡単に解読されるかどうかについては、考慮しません。