PHPでパスワード保護されたプレゼンテーションのセキュリティ
パスワード保護について
プレゼンテーションのパスワード保護はどのように機能しますか?
プレゼンテーションにパスワード保護を設定すると、プレゼンテーションに対して特定の制限を課すパスワードが設定されます。制限を解除するにはパスワードを入力する必要があります。パスワード保護されたプレゼンテーションはロックされたプレゼンテーションと見なされます。
通常、プレゼンテーションに対して次のような制限を課すためにパスワードを設定できます。
-
変更
特定のユーザーだけにプレゼンテーションの変更を許可したい場合、変更制限を設定できます。この制限は、パスワードを提供しない限り、プレゼンテーションの変更、編集、コピーを防ぎます。
ただし、この場合、パスワードがなくてもユーザーはドキュメントにアクセスして開くことができます。読み取り専用モードでは、ユーザーはプレゼンテーション内のハイパーリンク、アニメーション、エフェクトなどの内容を閲覧できますが、項目のコピーやプレゼンテーションの保存はできません。
-
開く
特定のユーザーだけにプレゼンテーションの閲覧を許可したい場合、開く制限を設定できます。この制限は、パスワードを提供しない限り、プレゼンテーションの内容の閲覧すら防ぎます。
技術的には、開く制限はユーザーの変更も防止します。プレゼンテーションを開けない場合、変更や編集もできません。
注意 パスワード保護で開くことを防止すると、プレゼンテーションファイルは暗号化されます。
オンラインでプレゼンテーションにパスワード保護を設定する方法
-
当社のAspose.Slides Lockページに移動します。

-
Drop or upload your files をクリックします。
-
コンピューター上でパスワード保護したいファイルを選択します。
-
編集保護用の希望パスワードと表示保護用の希望パスワードを入力します。
-
ユーザーに最終コピーとしてプレゼンテーションを見せたい場合は、Mark as final チェックボックスにチェックを入れます。
-
PROTECT NOW. をクリックします。
-
DOWNLOAD NOW. をクリックします。
Aspose.Slides のプレゼンテーション向けパスワード保護
サポート形式
Aspose.Slides は次の形式のプレゼンテーションに対してパスワード保護、暗号化、類似の操作をサポートします。
- PPTX と PPT - Microsoft PowerPoint プレゼンテーション
- ODP - OpenDocument プレゼンテーション
- OTP - OpenDocument プレゼンテーションテンプレート
サポート操作
Aspose.Slides は次の方法でプレゼンテーションの変更を防止するためにパスワード保護を使用できます。
- プレゼンテーションの暗号化
- プレゼンテーションへの書き込み保護の設定
その他の操作
Aspose.Slides は次の方法でパスワード保護や暗号化に関するその他のタスクを実行できます。
- プレゼンテーションの復号化、暗号化されたプレゼンテーションの開く
- 暗号化の解除、パスワード保護の無効化
- プレゼンテーションから書き込み保護を削除
- 暗号化されたプレゼンテーションのプロパティ取得
- プレゼンテーションが暗号化されているかの確認
- プレゼンテーションがパスワード保護されているかの確認
プレゼンテーションを暗号化する
パスワードを設定してプレゼンテーションを暗号化できます。ロックされたプレゼンテーションを変更するには、ユーザーはパスワードを提供しなければなりません。
暗号化またはパスワード保護を行うには、ProtectionManager の encrypt メソッドを使用してプレゼンテーションにパスワードを設定します。encrypt メソッドにパスワードを渡し、save メソッドで暗号化されたプレゼンテーションを保存します。
このサンプルコードはプレゼンテーションの暗号化方法を示しています:
$presentation = new Presentation("pres.pptx");
try {
$presentation->getProtectionManager()->encrypt("123123");
$presentation->save("encrypted-pres.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
プレゼンテーションに書き込み保護を設定する
「変更しないでください」というマークをプレゼンテーションに追加できます。これにより、ユーザーに対してプレゼンテーションの変更を望んでいないことを伝えられます。
注意 書き込み保護プロセスはプレゼンテーションを暗号化しません。そのため、ユーザーは実際に変更できても、変更を保存する際には別名で保存する必要があります。
書き込み保護を設定するには、setWriteProtection メソッドを使用します。このサンプルコードはプレゼンテーションへの書き込み保護設定方法を示しています:
$presentation = new Presentation("pres.pptx");
try {
$presentation->getProtectionManager()->setWriteProtection("123123");
$presentation->save("write-protected-pres.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
暗号化されたプレゼンテーションを読み込む
Aspose.Slides はパスワードを渡すことで暗号化ファイルを読み込むことができます。プレゼンテーションを復号化するには、パラメータなしで removeEncryption メソッドを呼び出し、正しいパスワードを入力してプレゼンテーションを読み込みます。
このサンプルコードはプレゼンテーションの復号化方法を示しています:
$loadOptions = new LoadOptions();
$loadOptions->setPassword("123123");
$presentation = new Presentation("pres.pptx", $loadOptions);
try {
# 復号化されたプレゼンテーションで作業する
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
プレゼンテーションから暗号化を削除する
プレゼンテーションの暗号化またはパスワード保護を削除できます。これにより、ユーザーは制限なしでプレゼンテーションにアクセスまたは変更できるようになります。
暗号化またはパスワード保護を削除するには、removeEncryption メソッドを呼び出します。このサンプルコードはプレゼンテーションから暗号化を削除する方法を示しています:
$loadOptions = new LoadOptions();
$loadOptions->setPassword("123123");
$presentation = new Presentation("pres.pptx", $loadOptions);
try {
$presentation->getProtectionManager()->removeEncryption();
$presentation->save("encryption-removed.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
プレゼンテーションから書き込み保護を削除する
Aspose.Slides を使用してプレゼンテーションファイルの書き込み保護を削除できます。これにより、ユーザーは好きなように変更でき、警告も表示されません。
書き込み保護を削除するには、removeWriteProtection メソッドを使用します。このサンプルコードは書き込み保護の削除方法を示しています:
$presentation = new Presentation("pres.pptx");
try {
$presentation->getProtectionManager()->removeWriteProtection();
$presentation->save("write-protection-removed.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
暗号化されたプレゼンテーションのプロパティを取得する
通常、ユーザーは暗号化またはパスワード保護されたプレゼンテーションのドキュメントプロパティ取得に苦労します。Aspose.Slides は、プレゼンテーションをパスワード保護しながら、ユーザーがそのプロパティにアクセスできるメカニズムを提供します。
注意 Aspose.Slides がプレゼンテーションを暗号化すると、デフォルトでプレゼンテーションのドキュメントプロパティもパスワード保護されます。ただし、暗号化後でもプロパティを利用可能にしたい場合は、encryptDocumentProperties メソッドに true を渡すことで実現できます。このサンプルコードはプロパティへのアクセスを可能にしつつプレゼンテーションを暗号化する方法を示しています:
$presentation = new Presentation("pres.pptx");
try {
$presentation->getProtectionManager()->setEncryptDocumentProperties(true);
$presentation->getProtectionManager()->encrypt("123123");
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
プレゼンテーションがパスワード保護されているか確認する
プレゼンテーションを読み込む前に、パスワードで保護されていないか確認したい場合があります。これにより、パスワードがない状態で保護されたプレゼンテーションを読み込んで起こるエラーや問題を回避できます。
この PHP コードはプレゼンテーションを実際に読み込まずにパスワード保護されているか調べる方法を示しています:
$presentationInfo = PresentationFactory->getInstance()->getPresentationInfo("example.pptx");
echo("The presentation is password protected: " . $presentationInfo->isPasswordProtected());
プレゼンテーションが暗号化されているか確認する
Aspose.Slides はプレゼンテーションが暗号化されているかどうかを確認できます。このタスクには、暗号化されていれば true、されていなければ false を返す isEncrypted メソッドを使用します。
このサンプルコードはプレゼンテーションが暗号化されているか確認する方法を示しています:
$presentation = new Presentation("pres.pptx");
try {
$isEncrypted = $presentation->getProtectionManager()->isEncrypted();
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
プレゼンテーションが書き込み保護されているか確認する
Aspose.Slides はプレゼンテーションが書き込み保護されているかどうかを確認できます。このタスクには、書き込み保護されていれば true、されていなければ false を返す isWriteProtected メソッドを使用します。
このサンプルコードはプレゼンテーションが書き込み保護されているか確認する方法を示しています:
$presentation = new Presentation("pres.pptx");
try {
$isEncrypted = $presentation->getProtectionManager()->isWriteProtected();
finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
特定のパスワードが使用されたことを検証または確認する
プレゼンテーションドキュメントが特定のパスワードで保護されているか確認したい場合があります。Aspose.Slides はパスワードを検証する手段を提供します。
このサンプルコードはパスワードを検証する方法を示しています:
$presentation = new Presentation("pres.pptx");
try {
# "pass" が一致するか確認
$isWriteProtected = $presentation->getProtectionManager()->checkWriteProtection("my_password");
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
指定されたパスワードでプレゼンテーションが暗号化されていれば true が返り、そうでなければ false が返ります。
See also
FAQ
Aspose.Slides がサポートする暗号化方式は何ですか?
Aspose.Slides は AES ベースのアルゴリズムを含む最新の暗号化方式をサポートし、プレゼンテーションのデータセキュリティを高いレベルで確保します。
プレゼンテーションを開く際に誤ったパスワードを入力するとどうなりますか?
誤ったパスワードが使用された場合、例外がスローされ、プレゼンテーションへのアクセスが拒否されたことが通知されます。これにより不正アクセスが防止され、コンテンツが保護されます。
パスワード保護されたプレゼンテーションを扱う際のパフォーマンスへの影響はありますか?
暗号化および復号化プロセスにより、開く際や保存時に若干のオーバーヘッドが発生する可能性があります。ほとんどの場合、このパフォーマンスへの影響は最小限で、プレゼンテーション全体の処理時間に大きな影響はありません。