2016-10-24 12 views
0

私は、関数exec()を使用してphpでjarファイルを実行しています。jarファイルがPHPで破損していないかチェックしていますか?

しかし、jarファイルが破損しているかどうか、つまりPHP関数を使用していないかどうかを確認する必要があります。

+2

JARファイルの整合性が重要な場合は、[署名付きJARファイル](https://docs.oracle.com/javase/tutorial/deployment/jar/signing.html)を使用してから、 'jarsigner - verify myjar.jar'で署名を確認する – MTCoster

+1

ファイルの一貫性の問題が心配されている場合は、md5sumをどこかに "保存"してそれら。しかし、私は同意します。あなたが本当に気にしているなら、*署名する方が良い方法かもしれません! – GhostCat

答えて

1

jarファイルはzip形式のファイルであるため、あなたはジッパーを使用して破損したjarファイルを確認することができますので、これはあなたのアイデアを与えるだろう。

$myfile = '/my/jar/file.jar'; 

$zip = new ZipArchive(); 
$res = $zip->open($myfile, ZipArchive::CHECKCONS); 
if ($res !== TRUE) { 
    switch($res) { 
     case ZipArchive::ER_NOZIP: 
      die('not a zip archive'); 
     case ZipArchive::ER_INCONS : 
      die('consistency check failed'); 
     case ZipArchive::ER_CRC : 
      die('checksum failed'); 
     default: 
      die('error ' . $res); 
    } 
} 

zipファイルでの作業のためには、php zip extension

をインストールする必要があります
関連する問題